MLIR 23.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<::mlir::Passmlir::createSCFForLoopPeeling ()
std::unique_ptr<::mlir::Passmlir::createSCFForLoopPeeling (SCFForLoopPeelingOptions options)
std::unique_ptr< Passmlir::createForLoopSpecializationPass ()
 Creates a pass that specializes for loop for unrolling and 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

Definition at line 11 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORALLTOPARALLELLOOP

#define GEN_PASS_DECL_SCFFORALLTOPARALLELLOOP

Definition at line 12 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORLOOPCANONICALIZATION

#define GEN_PASS_DECL_SCFFORLOOPCANONICALIZATION

Definition at line 6 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORLOOPPEELING

#define GEN_PASS_DECL_SCFFORLOOPPEELING

Definition at line 7 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORLOOPRANGEFOLDING

#define GEN_PASS_DECL_SCFFORLOOPRANGEFOLDING

Definition at line 8 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORLOOPSPECIALIZATION

#define GEN_PASS_DECL_SCFFORLOOPSPECIALIZATION

Definition at line 9 of file Passes.h.

◆ GEN_PASS_DECL_SCFFORTOWHILELOOP

#define GEN_PASS_DECL_SCFFORTOWHILELOOP

Definition at line 10 of file Passes.h.

◆ GEN_PASS_DECL_SCFPARALLELFORTONESTEDFORS

#define GEN_PASS_DECL_SCFPARALLELFORTONESTEDFORS

Definition at line 13 of file Passes.h.

◆ GEN_PASS_DECL_SCFPARALLELLOOPFUSION

#define GEN_PASS_DECL_SCFPARALLELLOOPFUSION

Definition at line 14 of file Passes.h.

◆ GEN_PASS_DECL_SCFPARALLELLOOPSPECIALIZATION

#define GEN_PASS_DECL_SCFPARALLELLOOPSPECIALIZATION

Definition at line 15 of file Passes.h.

◆ GEN_PASS_DECL_SCFPARALLELLOOPTILING

#define GEN_PASS_DECL_SCFPARALLELLOOPTILING

Definition at line 16 of file Passes.h.

◆ GEN_PASS_DECL_TESTSCFPARALLELLOOPCOLLAPSING

#define GEN_PASS_DECL_TESTSCFPARALLELLOOPCOLLAPSING

Definition at line 17 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 72 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORALLTOFORLOOP

#define GEN_PASS_REGISTRATION_SCFFORALLTOFORLOOP

Definition at line 832 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORALLTOPARALLELLOOP

#define GEN_PASS_REGISTRATION_SCFFORALLTOPARALLELLOOP

Definition at line 833 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORLOOPCANONICALIZATION

#define GEN_PASS_REGISTRATION_SCFFORLOOPCANONICALIZATION

Definition at line 827 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORLOOPPEELING

#define GEN_PASS_REGISTRATION_SCFFORLOOPPEELING

Definition at line 828 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORLOOPRANGEFOLDING

#define GEN_PASS_REGISTRATION_SCFFORLOOPRANGEFOLDING

Definition at line 829 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORLOOPSPECIALIZATION

#define GEN_PASS_REGISTRATION_SCFFORLOOPSPECIALIZATION

Definition at line 830 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFFORTOWHILELOOP

#define GEN_PASS_REGISTRATION_SCFFORTOWHILELOOP

Definition at line 831 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFPARALLELFORTONESTEDFORS

#define GEN_PASS_REGISTRATION_SCFPARALLELFORTONESTEDFORS

Definition at line 834 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPFUSION

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPFUSION

Definition at line 835 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPSPECIALIZATION

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPSPECIALIZATION

Definition at line 836 of file Passes.h.

◆ GEN_PASS_REGISTRATION_SCFPARALLELLOOPTILING

#define GEN_PASS_REGISTRATION_SCFPARALLELLOOPTILING

Definition at line 837 of file Passes.h.

◆ GEN_PASS_REGISTRATION_TESTSCFPARALLELLOOPCOLLAPSING

#define GEN_PASS_REGISTRATION_TESTSCFPARALLELLOOPCOLLAPSING

Definition at line 838 of file Passes.h.