14 #ifndef MLIR_TRANSFORMS_PASSES_H 15 #define MLIR_TRANSFORMS_PASSES_H 27 template <
typename T>
class OpPassBase;
37 std::unique_ptr<OpPassBase<FuncOp>>
45 std::unique_ptr<OpPassBase<FuncOp>>
55 int unrollFactor = -1,
int unrollFull = -1,
56 const std::function<
unsigned(AffineForOp)> &getUnrollFactor =
nullptr);
61 std::unique_ptr<OpPassBase<FuncOp>>
72 std::unique_ptr<OpPassBase<FuncOp>>
74 uint64_t localBufSizeThreshold = 0,
75 bool maximalFusion =
false);
95 std::unique_ptr<OpPassBase<FuncOp>>
101 std::unique_ptr<OpPassBase<FuncOp>>
112 unsigned slowMemorySpace,
unsigned fastMemorySpace,
113 unsigned tagMemorySpace = 0,
int minDmaTransferSize = 1024,
114 uint64_t fastMemCapacityBytes = std::numeric_limits<uint64_t>::max());
131 #endif // MLIR_TRANSFORMS_PASSES_H Definition: InferTypeOpInterface.cpp:20
std::unique_ptr< OpPassBase< FuncOp > > createLowerAffinePass()
Definition: AffineToStandard.cpp:544
std::unique_ptr< OpPassBase< FuncOp > > createTestLoopFusionPass()
Creates a pass which tests loop fusion utilities.
std::unique_ptr< OpPassBase< FuncOp > > createStripDebugInfoPass()
Creates a pass to strip debug information from a function.
Definition: StripDebugInfo.cpp:32
std::unique_ptr< OpPassBase< FuncOp > > createAffineDataCopyGenerationPass(unsigned slowMemorySpace, unsigned fastMemorySpace, unsigned tagMemorySpace=0, int minDmaTransferSize=1024, uint64_t fastMemCapacityBytes=std::numeric_limits< uint64_t >::max())
Definition: AffineDataCopyGeneration.cpp:133
std::unique_ptr< OpPassBase< FuncOp > > createVectorizerTestPass()
std::unique_ptr< OpPassBase< FuncOp > > createVectorizePass(ArrayRef< int64_t > virtualVectorSize)
Definition: Vectorize.cpp:1286
std::unique_ptr< Pass > createInlinerPass()
Definition: Inliner.cpp:292
std::unique_ptr< OpPassBase< FuncOp > > createLoopTilingPass(uint64_t cacheSizeBytes)
Creates a pass to perform tiling on loop nests.
Definition: LoopTiling.cpp:76
std::unique_ptr< Pass > createCSEPass()
Creates a pass to perform common sub expression elimination.
Definition: CSE.cpp:261
std::unique_ptr< OpPassBase< FuncOp > > createSimpleParametricTilingPass(ArrayRef< int64_t > outerLoopSizes)
std::unique_ptr< OpPassBase< FuncOp > > createSimplifyAffineStructuresPass()
Definition: SimplifyAffineStructures.cpp:80
std::unique_ptr< OpPassBase< FuncOp > > createPipelineDataTransferPass()
Definition: PipelineDataTransfer.cpp:43
std::unique_ptr< OpPassBase< FuncOp > > createMemRefDataFlowOptPass()
Definition: MemRefDataFlowOpt.cpp:82
std::unique_ptr< OpPassBase< FuncOp > > createMaterializeVectorsPass(ArrayRef< int64_t > vectorSize)
Creates a pass to lower super-vectors to target-dependent HW vectors.
std::unique_ptr< OpPassBase< FuncOp > > createLoopFusionPass(unsigned fastMemorySpace=0, uint64_t localBufSizeThreshold=0, bool maximalFusion=false)
Definition: LoopFusion.cpp:106
std::unique_ptr< OpPassBase< FuncOp > > createLoopCoalescingPass()
Definition: LoopCoalescing.cpp:90
std::unique_ptr< OpPassBase< FuncOp > > createLoopUnrollAndJamPass(int unrollJamFactor=-1)
Definition: LoopUnrollAndJam.cpp:77
std::unique_ptr< OpPassBase< FuncOp > > createLoopUnrollPass(int unrollFactor=-1, int unrollFull=-1, const std::function< unsigned(AffineForOp)> &getUnrollFactor=nullptr)
Definition: LoopUnroll.cpp:174
std::unique_ptr< OpPassBase< FuncOp > > createAffineLoopInvariantCodeMotionPass()
Definition: AffineLoopInvariantCodeMotion.cpp:233
std::unique_ptr< Pass > createCanonicalizerPass()
Creates an instance of the Canonicalizer pass.
Definition: Canonicalizer.cpp:40
std::unique_ptr< Pass > createLoopInvariantCodeMotionPass()
Definition: LoopInvariantCodeMotion.cpp:134