MLIR 22.0.0git
RegisterAllPasses.cpp
Go to the documentation of this file.
1//===- RegisterAllPasses.cpp - MLIR Registration ----------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines a helper to trigger the registration of all passes to the
10// system.
11//
12//===----------------------------------------------------------------------===//
13
14#include "mlir/InitAllPasses.h"
15
51
52// This function may be called to register the MLIR passes with the
53// global registry.
54// If you're building a compiler, you likely don't need this: you would build a
55// pipeline programmatically without the need to register with the global
56// registry, since it would already be calling the creation routine of the
57// individual passes.
58// The global registry is interesting to interact with the command-line tools.
60 // General passes
61 registerTransformsPasses();
62
63 // Conversion passes
64 registerConversionPasses();
65
66 // Dialect passes
67 acc::registerOpenACCPasses();
68 affine::registerAffinePasses();
69 amdgpu::registerAMDGPUPasses();
70 registerAsyncPasses();
71 arith::registerArithPasses();
72 bufferization::registerBufferizationPasses();
73 func::registerFuncPasses();
74 registerGPUPasses();
75 registerLinalgPasses();
76 registerNVGPUPasses();
77 registerSparseTensorPasses();
78 LLVM::registerLLVMPasses();
79 LLVM::registerTargetLLVMIRTransformsPasses();
80 math::registerMathPasses();
81 memref::registerMemRefPasses();
82 shard::registerShardPasses();
83 ml_program::registerMLProgramPasses();
84 omp::registerOpenMPPasses();
85 quant::registerQuantPasses();
86 registerSCFPasses();
87 registerShapePasses();
88 spirv::registerSPIRVPasses();
89 tensor::registerTensorPasses();
90 tosa::registerTosaPasses();
91 transform::registerTransformPasses();
92 vector::registerVectorPasses();
93 arm_sme::registerArmSMEPasses();
94 arm_sve::registerArmSVEPasses();
95 emitc::registerEmitCPasses();
96 xegpu::registerXeGPUPasses();
97
98 // Dialect pipelines
104}
void registerBufferizationPipelines()
Registers all pipelines for the bufferization dialect.
void registerGPUToNVVMPipeline()
Register all pipelines for the gpu dialect.
void registerGPUToXeVMPipeline()
void registerSparseTensorPipelines()
Registers all pipelines for the sparse_tensor dialect.
void registerTosaToLinalgPipelines()
Populates TOSA to linalg pipelines Currently, this includes only the "tosa-to-linalg-pipeline".
void registerAllPasses()