brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.0 KiB · d7e321a Raw
105 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8//9// This file defines a helper to trigger the registration of all passes to the10// system.11//12//===----------------------------------------------------------------------===//13 14#include "mlir/InitAllPasses.h"15 16#include "mlir/Conversion/Passes.h"17#include "mlir/Dialect/AMDGPU/Transforms/Passes.h"18#include "mlir/Dialect/Affine/Passes.h"19#include "mlir/Dialect/Arith/Transforms/Passes.h"20#include "mlir/Dialect/ArmSME/Transforms/Passes.h"21#include "mlir/Dialect/ArmSVE/Transforms/Passes.h"22#include "mlir/Dialect/Async/Passes.h"23#include "mlir/Dialect/Bufferization/Pipelines/Passes.h"24#include "mlir/Dialect/Bufferization/Transforms/Passes.h"25#include "mlir/Dialect/EmitC/Transforms/Passes.h"26#include "mlir/Dialect/Func/Transforms/Passes.h"27#include "mlir/Dialect/GPU/Pipelines/Passes.h"28#include "mlir/Dialect/GPU/Transforms/Passes.h"29#include "mlir/Dialect/LLVMIR/Transforms/Passes.h"30#include "mlir/Dialect/Linalg/Passes.h"31#include "mlir/Dialect/MLProgram/Transforms/Passes.h"32#include "mlir/Dialect/Math/Transforms/Passes.h"33#include "mlir/Dialect/MemRef/Transforms/Passes.h"34#include "mlir/Dialect/NVGPU/Transforms/Passes.h"35#include "mlir/Dialect/OpenACC/Transforms/Passes.h"36#include "mlir/Dialect/OpenMP/Transforms/Passes.h"37#include "mlir/Dialect/Quant/Transforms/Passes.h"38#include "mlir/Dialect/SCF/Transforms/Passes.h"39#include "mlir/Dialect/SPIRV/Transforms/Passes.h"40#include "mlir/Dialect/Shape/Transforms/Passes.h"41#include "mlir/Dialect/Shard/Transforms/Passes.h"42#include "mlir/Dialect/SparseTensor/Pipelines/Passes.h"43#include "mlir/Dialect/SparseTensor/Transforms/Passes.h"44#include "mlir/Dialect/Tensor/Transforms/Passes.h"45#include "mlir/Dialect/Tosa/Transforms/Passes.h"46#include "mlir/Dialect/Transform/Transforms/Passes.h"47#include "mlir/Dialect/Vector/Transforms/Passes.h"48#include "mlir/Dialect/XeGPU/Transforms/Passes.h"49#include "mlir/Target/LLVMIR/Transforms/Passes.h"50#include "mlir/Transforms/Passes.h"51 52// This function may be called to register the MLIR passes with the53// global registry.54// If you're building a compiler, you likely don't need this: you would build a55// pipeline programmatically without the need to register with the global56// registry, since it would already be calling the creation routine of the57// individual passes.58// The global registry is interesting to interact with the command-line tools.59void mlir::registerAllPasses() {60  // General passes61  registerTransformsPasses();62 63  // Conversion passes64  registerConversionPasses();65 66  // Dialect passes67  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 pipelines99  bufferization::registerBufferizationPipelines();100  sparse_tensor::registerSparseTensorPipelines();101  tosa::registerTosaToLinalgPipelines();102  gpu::registerGPUToNVVMPipeline();103  gpu::registerGPUToXeVMPipeline();104}105