MLIR 22.0.0git
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include "mlir/Dialect/SCF/Transforms/Passes.h.inc"

Go to the source code of this file.

Classes

struct  mlir::SCFForLoopPeelingOptions
struct  mlir::SCFParallelLoopTilingOptions
struct  mlir::TestSCFParallelLoopCollapsingOptions

Namespaces

namespace  mlir
 Include the generated interface declarations.

Macros

#define GEN_PASS_DECL
#define GEN_PASS_DECL_SCFFORLOOPCANONICALIZATION
#define GEN_PASS_DECL_SCFFORLOOPPEELING
#define GEN_PASS_DECL_SCFFORLOOPRANGEFOLDING
#define GEN_PASS_DECL_SCFFORLOOPSPECIALIZATION
#define GEN_PASS_DECL_SCFFORTOWHILELOOP
#define GEN_PASS_DECL_SCFFORALLTOFORLOOP
#define GEN_PASS_DECL_SCFFORALLTOPARALLELLOOP
#define GEN_PASS_DECL_SCFPARALLELFORTONESTEDFORS
#define GEN_PASS_DECL_SCFPARALLELLOOPFUSION
#define GEN_PASS_DECL_SCFPARALLELLOOPSPECIALIZATION
#define GEN_PASS_DECL_SCFPARALLELLOOPTILING
#define GEN_PASS_DECL_TESTSCFPARALLELLOOPCOLLAPSING
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes.
#define GEN_PASS_REGISTRATION_SCFFORLOOPCANONICALIZATION
#define GEN_PASS_REGISTRATION_SCFFORLOOPPEELING
#define GEN_PASS_REGISTRATION_SCFFORLOOPRANGEFOLDING
#define GEN_PASS_REGISTRATION_SCFFORLOOPSPECIALIZATION
#define GEN_PASS_REGISTRATION_SCFFORTOWHILELOOP
#define GEN_PASS_REGISTRATION_SCFFORALLTOFORLOOP
#define GEN_PASS_REGISTRATION_SCFFORALLTOPARALLELLOOP
#define GEN_PASS_REGISTRATION_SCFPARALLELFORTONESTEDFORS
#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPFUSION
#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPSPECIALIZATION
#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPTILING
#define GEN_PASS_REGISTRATION_TESTSCFPARALLELLOOPCOLLAPSING

Functions

std::unique_ptr< Passmlir::createForLoopSpecializationPass ()
 Creates a pass that specializes for loop for unrolling and vectorization.
std::unique_ptr< Passmlir::createForLoopPeelingPass ()
 Creates a pass that peels for loops at their upper bounds for better vectorization.
std::unique_ptr< Passmlir::createSCFForLoopCanonicalizationPass ()
 Creates a pass that canonicalizes affine.min and affine.max operations inside of scf.for loops with known lower and upper bounds.
std::unique_ptr< Passmlir::createTestSCFParallelLoopCollapsingPass ()
 Creates a pass that transforms a single ParallelLoop over N induction variables into another ParallelLoop over less than N induction variables.
std::unique_ptr< Passmlir::createParallelLoopFusionPass ()
 Creates a loop fusion pass which fuses parallel loops.
std::unique_ptr< Passmlir::createParallelLoopSpecializationPass ()
 Creates a pass that specializes parallel loop for unrolling and vectorization.
std::unique_ptr< Passmlir::createParallelLoopTilingPass (llvm::ArrayRef< int64_t > tileSize={}, bool noMinMaxBounds=false)
 Creates a pass which tiles innermost parallel loops.
std::unique_ptr< Passmlir::createForLoopRangeFoldingPass ()
 Creates a pass which folds arith ops on induction variable into loop range.
std::unique_ptr< Passmlir::createForallToForLoopPass ()
 Creates a pass that converts SCF forall loops to SCF for loops.
std::unique_ptr< Passmlir::createForallToParallelLoopPass ()
 Creates a pass that converts SCF forall loops to SCF parallel loops.
std::unique_ptr< Passmlir::createParallelForToNestedForsPass ()
 Creates a pass that converts SCF forall loops to SCF parallel loops.
std::unique_ptr< Passmlir::createForToWhileLoopPass ()
void mlir::registerSCFForLoopCanonicalization ()
void mlir::registerSCFForLoopCanonicalizationPass ()
void mlir::registerSCFForLoopPeeling ()
void mlir::registerSCFForLoopPeelingPass ()
void mlir::registerSCFForLoopRangeFolding ()
void mlir::registerSCFForLoopRangeFoldingPass ()
void mlir::registerSCFForLoopSpecialization ()
void mlir::registerSCFForLoopSpecializationPass ()
void mlir::registerSCFForToWhileLoop ()
void mlir::registerSCFForToWhileLoopPass ()
void mlir::registerSCFForallToForLoop ()
void mlir::registerSCFForallToForLoopPass ()
void mlir::registerSCFForallToParallelLoop ()
void mlir::registerSCFForallToParallelLoopPass ()
void mlir::registerSCFParallelForToNestedFors ()
void mlir::registerSCFParallelForToNestedForsPass ()
void mlir::registerSCFParallelLoopFusion ()
void mlir::registerSCFParallelLoopFusionPass ()
void mlir::registerSCFParallelLoopSpecialization ()
void mlir::registerSCFParallelLoopSpecializationPass ()
void mlir::registerSCFParallelLoopTiling ()
void mlir::registerSCFParallelLoopTilingPass ()
void mlir::registerTestSCFParallelLoopCollapsing ()
void mlir::registerTestSCFParallelLoopCollapsingPass ()
void mlir::registerSCFPasses ()

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 20 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORALLTOFORLOOP

#define GEN_PASS_DECL_SCFFORALLTOFORLOOP

◆ GEN_PASS_DECL_SCFFORALLTOPARALLELLOOP

#define GEN_PASS_DECL_SCFFORALLTOPARALLELLOOP

◆ GEN_PASS_DECL_SCFFORLOOPCANONICALIZATION

#define GEN_PASS_DECL_SCFFORLOOPCANONICALIZATION

◆ GEN_PASS_DECL_SCFFORLOOPPEELING

#define GEN_PASS_DECL_SCFFORLOOPPEELING

◆ GEN_PASS_DECL_SCFFORLOOPRANGEFOLDING

#define GEN_PASS_DECL_SCFFORLOOPRANGEFOLDING

◆ GEN_PASS_DECL_SCFFORLOOPSPECIALIZATION

#define GEN_PASS_DECL_SCFFORLOOPSPECIALIZATION

◆ GEN_PASS_DECL_SCFFORTOWHILELOOP

#define GEN_PASS_DECL_SCFFORTOWHILELOOP

◆ GEN_PASS_DECL_SCFPARALLELFORTONESTEDFORS

#define GEN_PASS_DECL_SCFPARALLELFORTONESTEDFORS

◆ GEN_PASS_DECL_SCFPARALLELLOOPFUSION

#define GEN_PASS_DECL_SCFPARALLELLOOPFUSION

◆ GEN_PASS_DECL_SCFPARALLELLOOPSPECIALIZATION

#define GEN_PASS_DECL_SCFPARALLELLOOPSPECIALIZATION

◆ GEN_PASS_DECL_SCFPARALLELLOOPTILING

#define GEN_PASS_DECL_SCFPARALLELLOOPTILING

◆ GEN_PASS_DECL_TESTSCFPARALLELLOOPCOLLAPSING

#define GEN_PASS_DECL_TESTSCFPARALLELLOOPCOLLAPSING

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 76 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORALLTOFORLOOP

#define GEN_PASS_REGISTRATION_SCFFORALLTOFORLOOP

◆ GEN_PASS_REGISTRATION_SCFFORALLTOPARALLELLOOP

#define GEN_PASS_REGISTRATION_SCFFORALLTOPARALLELLOOP

◆ GEN_PASS_REGISTRATION_SCFFORLOOPCANONICALIZATION

#define GEN_PASS_REGISTRATION_SCFFORLOOPCANONICALIZATION

◆ GEN_PASS_REGISTRATION_SCFFORLOOPPEELING

#define GEN_PASS_REGISTRATION_SCFFORLOOPPEELING

◆ GEN_PASS_REGISTRATION_SCFFORLOOPRANGEFOLDING

#define GEN_PASS_REGISTRATION_SCFFORLOOPRANGEFOLDING

◆ GEN_PASS_REGISTRATION_SCFFORLOOPSPECIALIZATION

#define GEN_PASS_REGISTRATION_SCFFORLOOPSPECIALIZATION

◆ GEN_PASS_REGISTRATION_SCFFORTOWHILELOOP

#define GEN_PASS_REGISTRATION_SCFFORTOWHILELOOP

◆ GEN_PASS_REGISTRATION_SCFPARALLELFORTONESTEDFORS

#define GEN_PASS_REGISTRATION_SCFPARALLELFORTONESTEDFORS

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPFUSION

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPFUSION

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPSPECIALIZATION

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPSPECIALIZATION

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPTILING

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPTILING

◆ GEN_PASS_REGISTRATION_TESTSCFPARALLELLOOPCOLLAPSING

#define GEN_PASS_REGISTRATION_TESTSCFPARALLELLOOPCOLLAPSING