picceler
Loading...
Searching...
No Matches
pass_manager.cpp File Reference

Implementation of the IRPassManager class, which manages the sequence of MLIR passes that transform the MLIR module from its initial form to the final LLVM IR form ready for code generation. The pass manager is responsible for organizing passes into logical phases of compilation, such as high-level optimization, affine lowering, and backend lowering. It also sets up instrumentation to log the execution of passes for debugging and performance analysis. More...

#include "pass_manager.h"
#include "mlir/Transforms/Passes.h"
#include "mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h"
#include "mlir/Conversion/AffineToStandard/AffineToStandard.h"
#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
#include "mlir/Conversion/ArithToLLVM/ArithToLLVM.h"
#include "mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h"
#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h"
#include "mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h"

Namespaces

namespace  picceler

Detailed Description

Implementation of the IRPassManager class, which manages the sequence of MLIR passes that transform the MLIR module from its initial form to the final LLVM IR form ready for code generation. The pass manager is responsible for organizing passes into logical phases of compilation, such as high-level optimization, affine lowering, and backend lowering. It also sets up instrumentation to log the execution of passes for debugging and performance analysis.