MLIR 23.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
52
53// This function may be called to register the MLIR passes with the
54// global registry.
55// If you're building a compiler, you likely don't need this: you would build a
56// pipeline programmatically without the need to register with the global
57// registry, since it would already be calling the creation routine of the
58// individual passes.
59// The global registry is interesting to interact with the command-line tools.
61 // General passes
62 registerTransformsPasses();
63
64 // Conversion passes
65 registerConversionPasses();
66
67 // Dialect passes
68 acc::registerOpenACCPasses();
69 affine::registerAffinePasses();
70 amdgpu::registerAMDGPUPasses();
71 registerAsyncPasses();
72 arith::registerArithPasses();
73 bufferization::registerBufferizationPasses();
74 func::registerFuncPasses();
75 registerGPUPasses();
76 registerLinalgPasses();
77 registerNVGPUPasses();
78 NVVM::registerNVVMPasses();
79 registerSparseTensorPasses();
80 LLVM::registerLLVMPasses();
81 LLVM::registerTargetLLVMIRTransformsPasses();
82 math::registerMathPasses();
83 memref::registerMemRefPasses();
84 shard::registerShardPasses();
85 ml_program::registerMLProgramPasses();
86 omp::registerOpenMPPasses();
87 quant::registerQuantPasses();
88 registerSCFPasses();
89 registerShapePasses();
90 spirv::registerSPIRVPasses();
91 tensor::registerTensorPasses();
92 tosa::registerTosaPasses();
93 transform::registerTransformPasses();
94 vector::registerVectorPasses();
95 arm_sme::registerArmSMEPasses();
96 arm_sve::registerArmSVEPasses();
97 emitc::registerEmitCPasses();
98 xegpu::registerXeGPUPasses();
99
100 // Dialect pipelines
107}
void registerBufferizationPipelines()
Registers all pipelines for the bufferization dialect.
void registerGPUToNVVMPipeline()
Register all pipelines for the gpu dialect.
void registerGPUToXeVMPipeline()
void registerGPUToROCDLPipeline()
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()