MLIR  20.0.0git
Namespaces | Macros | Enumerations | Functions
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include <limits>
#include "mlir/Dialect/Affine/Passes.h.inc"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::func
 
 mlir::affine
 

Macros

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

Enumerations

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

Functions

std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::createSimplifyAffineStructuresPass ()
 Creates a simplification pass for affine structures (maps and sets). More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::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::affine::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::affine::createAffineLoopNormalizePass (bool promoteSingleIter=false)
 Apply normalization transformations to affine loop-like ops. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::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::affine::createAffineDataCopyGenerationPass ()
 Overload relying on pass options for initialization. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::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::affine::createLoopCoalescingPass ()
 Creates a pass that transforms perfectly nested loops with independent bounds into a single loop. More...
 
std::unique_ptr< Passmlir::affine::createLoopFusionPass (unsigned fastMemorySpace=0, uint64_t localBufSizeThreshold=0, bool maximalFusion=false, enum FusionMode fusionMode=FusionMode::Greedy)
 Creates a loop fusion pass which fuses affine loop nests at the top-level of the operation the pass is created on according to the type of fusion specified in fusionMode. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::createLoopTilingPass (uint64_t cacheSizeBytes)
 Creates a pass to perform tiling on loop nests. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::createLoopTilingPass ()
 Overload relying on pass options for initialization. More...
 
std::unique_ptr< OperationPass< func::FuncOp > > mlir::affine::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::affine::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::affine::createPipelineDataTransferPass ()
 Creates a pass to pipeline explicit movement of data across levels of the memory hierarchy. More...
 
std::unique_ptr< Passmlir::affine::createAffineExpandIndexOpsPass ()
 Creates a pass to expand affine index operations into more fundamental operations (not necessarily restricted to Affine dialect). More...
 
std::unique_ptr< Passmlir::affine::createAffineExpandIndexOpsAsAffinePass ()
 Creates a pass to expand affine index operations into affine.apply operations. More...
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 33 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 128 of file Passes.h.