13 #ifndef MLIR_DIALECT_SCF_TRANSFORMS_PASSES_H_
14 #define MLIR_DIALECT_SCF_TRANSFORMS_PASSES_H_
21 #include "mlir/Dialect/SCF/Transforms/Passes.h.inc"
53 bool noMinMaxBounds =
false);
73 #define GEN_PASS_REGISTRATION
74 #include "mlir/Dialect/SCF/Transforms/Passes.h.inc"
Include the generated interface declarations.
std::unique_ptr< Pass > createForallToParallelLoopPass()
Creates a pass that converts SCF forall loops to SCF parallel loops.
std::unique_ptr< Pass > createParallelLoopSpecializationPass()
Creates a pass that specializes parallel loop for unrolling and vectorization.
std::unique_ptr< Pass > createForLoopSpecializationPass()
Creates a pass that specializes for loop for unrolling and vectorization.
std::unique_ptr< Pass > createParallelLoopTilingPass(llvm::ArrayRef< int64_t > tileSize={}, bool noMinMaxBounds=false)
Creates a pass which tiles innermost parallel loops.
std::unique_ptr< Pass > createForallToForLoopPass()
Creates a pass that converts SCF forall loops to SCF for loops.
std::unique_ptr< Pass > createForLoopRangeFoldingPass()
Creates a pass which folds arith ops on induction variable into loop range.
std::unique_ptr< Pass > createForToWhileLoopPass()
std::unique_ptr< Pass > createForLoopPeelingPass()
Creates a pass that peels for loops at their upper bounds for better vectorization.
std::unique_ptr< Pass > createTestSCFParallelLoopCollapsingPass()
Creates a pass that transforms a single ParallelLoop over N induction variables into another Parallel...
std::unique_ptr< Pass > createSCFForLoopCanonicalizationPass()
Creates a pass that canonicalizes affine.min and affine.max operations inside of scf....
std::unique_ptr< Pass > createParallelLoopFusionPass()
Creates a loop fusion pass which fuses parallel loops.