MLIR  16.0.0git
Namespaces | Macros | Enumerations | Functions
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include <limits>
#include "mlir/Dialect/Affine/Passes.h.inc"
+ Include dependency graph for Passes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::func
 

Macros

#define GEN_PASS_REGISTRATION
 Generate the code for registering passes. More...
 

Enumerations

enum  mlir::FusionMode { mlir::Greedy, mlir::ProducerConsumer, mlir::Sibling }
 Fusion mode to attempt. More...
 

Functions

std::unique_ptr< OperationPass< func::FuncOp > > mlir::createSimplifyAffineStructuresPass ()
 Creates a simplification pass for affine structures (maps and sets). More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineLoopInvariantCodeMotionPass ()
 Creates a loop invariant code motion pass that hoists loop invariant operations out of affine loops. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineParallelizePass ()
 Creates a pass to convert all parallel affine.for's into 1-d affine.parallel ops. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineLoopNormalizePass ()
 Apply normalization transformations to affine loop-like ops. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineDataCopyGenerationPass (unsigned slowMemorySpace, unsigned fastMemorySpace, unsigned tagMemorySpace=0, int minDmaTransferSize=1024, uint64_t fastMemCapacityBytes=std::numeric_limits< uint64_t >::max())
 Performs packing (or explicit copying) of accessed memref regions into buffers in the specified faster memory space through either pointwise copies or DMA operations. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineDataCopyGenerationPass ()
 Overload relying on pass options for initialization. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createAffineScalarReplacementPass ()
 Creates a pass to replace affine memref accesses by scalars using store to load forwarding and redundant load elimination; consequently also eliminate dead allocs. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopCoalescingPass ()
 Creates a pass that transforms perfectly nested loops with independent bounds into a single loop. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopFusionPass (unsigned fastMemorySpace=0, uint64_t localBufSizeThreshold=0, bool maximalFusion=false, enum FusionMode fusionMode=FusionMode::Greedy)
 Creates a loop fusion pass which fuses loops according to type of fusion specified in fusionMode. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopTilingPass (uint64_t cacheSizeBytes)
 Creates a pass to perform tiling on loop nests. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopTilingPass ()
 Overload relying on pass options for initialization. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopUnrollPass (int unrollFactor=-1, bool unrollUpToFactor=false, bool unrollFull=false, const std::function< unsigned(AffineForOp)> &getUnrollFactor=nullptr)
 Creates a loop unrolling pass with the provided parameters. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createLoopUnrollAndJamPass (int unrollJamFactor=-1)
 Creates a loop unroll jam pass to unroll jam by the specified factor. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createPipelineDataTransferPass ()
 Creates a pass to pipeline explicit movement of data across levels of the memory hierarchy. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createSuperVectorizePass (ArrayRef< int64_t > virtualVectorSize)
 Creates a pass to vectorize loops, operations and data types using a target-independent, n-D super-vector abstraction. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::createSuperVectorizePass ()
 Overload relying on pass options for initialization. More...
 
void mlir::populateAffineExpandIndexOpsPatterns (RewritePatternSet &patterns)
 Populate patterns that expand affine index operations into more fundamental operations (not necessarily restricted to Affine dialect). More...
 
std::unique_ptr< Passmlir::createAffineExpandIndexOpsPass ()
 Creates a pass to expand affine index operations into more fundamental operations (not necessarily restricted to Affine dialect). More...
 

Macro Definition Documentation

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 126 of file Passes.h.