MLIR  20.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
Passes.h File Reference
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/OneToNTypeConversion.h"
#include "mlir/Dialect/SparseTensor/Transforms/Passes.h.inc"

Go to the source code of this file.

Classes

struct  mlir::SparsificationOptions
 Options for the Sparsification pass. More...
 
struct  mlir::SparseIterationTypeConverter
 Type converter for iter_space and iterator. More...
 
class  mlir::SparseTensorTypeToPtrConverter
 Sparse tensor type converter into an opaque pointer. More...
 
class  mlir::SparseTensorTypeToBufferConverter
 Sparse tensor type converter into an actual buffer. More...
 
class  mlir::StorageSpecifierToLLVMTypeConverter
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::bufferization
 

Macros

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

Enumerations

enum class  mlir::SparseParallelizationStrategy {
  mlir::kNone , mlir::kDenseOuterLoop , mlir::kAnyStorageOuterLoop , mlir::kDenseAnyLoop ,
  mlir::kAnyStorageAnyLoop
}
 Defines a parallelization strategy. More...
 
enum class  mlir::ReinterpretMapScope { mlir::kAll , mlir::kGenericOnly , mlir::kExceptGeneric }
 Defines a scope for reinterpret map pass. More...
 
enum class  mlir::SparseEmitStrategy { mlir::kFunctional , mlir::kSparseIterator , mlir::kDebugInterface }
 Defines a scope for reinterpret map pass. More...
 

Functions

void mlir::populateSparseAssembler (RewritePatternSet &patterns, bool directOut)
 
std::unique_ptr< Passmlir::createSparseAssembler ()
 
std::unique_ptr< Pass > mlir::createSparseAssembler (bool directOut)
 
void mlir::populateSparseReinterpretMap (RewritePatternSet &patterns, ReinterpretMapScope scope)
 
std::unique_ptr< Passmlir::createSparseReinterpretMapPass ()
 
std::unique_ptr< Passmlir::createSparseReinterpretMapPass (ReinterpretMapScope scope)
 
void mlir::populatePreSparsificationRewriting (RewritePatternSet &patterns)
 
std::unique_ptr< Passmlir::createPreSparsificationRewritePass ()
 
void mlir::populateSparsificationPatterns (RewritePatternSet &patterns, const SparsificationOptions &options=SparsificationOptions())
 Sets up sparsification rewriting rules with the given options. More...
 
std::unique_ptr< Passmlir::createSparsificationPass ()
 
std::unique_ptr< Passmlir::createSparsificationPass (const SparsificationOptions &options)
 
void mlir::populateStageSparseOperationsPatterns (RewritePatternSet &patterns)
 Sets up StageSparseOperation rewriting rules. More...
 
std::unique_ptr< Passmlir::createStageSparseOperationsPass ()
 
void mlir::populateLowerSparseOpsToForeachPatterns (RewritePatternSet &patterns, bool enableRT, bool enableConvert)
 
std::unique_ptr< Passmlir::createLowerSparseOpsToForeachPass ()
 
std::unique_ptr< Passmlir::createLowerSparseOpsToForeachPass (bool enableRT, bool enableConvert)
 
void mlir::populateLowerForeachToSCFPatterns (RewritePatternSet &patterns)
 
std::unique_ptr< Passmlir::createLowerForeachToSCFPass ()
 
void mlir::populateLowerSparseIterationToSCFPatterns (const TypeConverter &converter, RewritePatternSet &patterns)
 
std::unique_ptr< Passmlir::createLowerSparseIterationToSCFPass ()
 
void mlir::populateSparseTensorConversionPatterns (const TypeConverter &typeConverter, RewritePatternSet &patterns)
 Sets up sparse tensor conversion rules. More...
 
std::unique_ptr< Passmlir::createSparseTensorConversionPass ()
 
void mlir::populateSparseTensorCodegenPatterns (const TypeConverter &typeConverter, RewritePatternSet &patterns, bool createSparseDeallocs, bool enableBufferInitialization)
 Sets up sparse tensor codegen rules. More...
 
std::unique_ptr< Passmlir::createSparseTensorCodegenPass ()
 
std::unique_ptr< Passmlir::createSparseTensorCodegenPass (bool createSparseDeallocs, bool enableBufferInitialization)
 
void mlir::populateSparseBufferRewriting (RewritePatternSet &patterns, bool enableBufferInitialization)
 
std::unique_ptr< Passmlir::createSparseBufferRewritePass ()
 
std::unique_ptr< Passmlir::createSparseBufferRewritePass (bool enableBufferInitialization)
 
void mlir::populateSparseVectorizationPatterns (RewritePatternSet &patterns, unsigned vectorLength, bool enableVLAVectorization, bool enableSIMDIndex32)
 Populates the given patterns list with vectorization rules. More...
 
std::unique_ptr< Passmlir::createSparseVectorizationPass ()
 
std::unique_ptr< Passmlir::createSparseVectorizationPass (unsigned vectorLength, bool enableVLAVectorization, bool enableSIMDIndex32)
 
void mlir::populateSparseGPUCodegenPatterns (RewritePatternSet &patterns, unsigned numThreads)
 
void mlir::populateSparseGPULibgenPatterns (RewritePatternSet &patterns, bool enableRT)
 
std::unique_ptr< Passmlir::createSparseGPUCodegenPass ()
 
std::unique_ptr< Passmlir::createSparseGPUCodegenPass (unsigned numThreads, bool enableRT)
 
void mlir::populateStorageSpecifierToLLVMPatterns (const TypeConverter &converter, RewritePatternSet &patterns)
 
std::unique_ptr< Passmlir::createStorageSpecifierToLLVMPass ()
 
bufferization::OneShotBufferizationOptions mlir::getBufferizationOptionsForSparsification (bool analysisOnly)
 
std::unique_ptr< Passmlir::createSparsificationAndBufferizationPass ()
 
std::unique_ptr< Passmlir::createSparsificationAndBufferizationPass (const bufferization::OneShotBufferizationOptions &bufferizationOptions, const SparsificationOptions &sparsificationOptions, bool createSparseDeallocs, bool enableRuntimeLibrary, bool enableBufferInitialization, unsigned vectorLength, bool enableVLAVectorization, bool enableSIMDIndex32, bool enableGPULibgen, SparseEmitStrategy emitStrategy, SparseParallelizationStrategy parallelizationStrategy)
 
std::unique_ptr< Passmlir::createSparseSpaceCollapsePass ()
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 58 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 280 of file Passes.h.