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 
16 #include "mlir/Conversion/Passes.h"
50 #include "mlir/Transforms/Passes.h"
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::registerTosaOptPasses();
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()