MLIR  18.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/Dialect/SparseTensor/Transforms/Passes.h.inc"

Go to the source code of this file.

Classes

struct  mlir::SparsificationOptions
 Options for the Sparsification pass. More...
 
class  mlir::SparseTensorTypeToPtrConverter
 Sparse tensor type converter into an opaque pointer. More...
 
struct  mlir::SparseTensorConversionOptions
 SparseTensorConversion options. More...
 
class  mlir::SparseTensorTypeToBufferConverter
 Sparse tensor type converter into an actual buffer. More...
 
class  mlir::StorageSpecifierToLLVMTypeConverter
 

Namespaces

 mlir
 This header declares functions that assist transformations in the MemRef dialect.
 
 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::GPUDataTransferStrategy { mlir::kRegularDMA , mlir::kZeroCopy , mlir::kPinnedDMA }
 Defines data movement strategy between host and device for GPU. More...
 
enum class  mlir::SparseToSparseConversionStrategy { mlir::kAuto , mlir::kViaCOO , mlir::kDirect }
 Defines a strategy for implementing sparse-to-sparse conversion. More...
 

Functions

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::populatePostSparsificationRewriting (RewritePatternSet &patterns, bool enableRT, bool enableForeach, bool enableConvert)
 
std::unique_ptr< Passmlir::createPostSparsificationRewritePass ()
 
std::unique_ptr< Passmlir::createPostSparsificationRewritePass (bool enableRT, bool enableForeach=true, bool enableConvert=true)
 
SparseToSparseConversionStrategy mlir::sparseToSparseConversionStrategy (int32_t flag)
 Converts command-line sparse2sparse flag to the strategy enum. More...
 
void mlir::populateSparseTensorConversionPatterns (TypeConverter &typeConverter, RewritePatternSet &patterns, const SparseTensorConversionOptions &options=SparseTensorConversionOptions())
 Sets up sparse tensor conversion rules. More...
 
std::unique_ptr< Passmlir::createSparseTensorConversionPass ()
 
std::unique_ptr< Passmlir::createSparseTensorConversionPass (const SparseTensorConversionOptions &options)
 
void mlir::populateSparseTensorCodegenPatterns (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, GPUDataTransferStrategy gpuDataTransfer)
 
std::unique_ptr< Passmlir::createSparseGPUCodegenPass ()
 
std::unique_ptr< Passmlir::createSparseGPUCodegenPass (unsigned numThreads)
 
void mlir::populateStorageSpecifierToLLVMPatterns (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, const SparseTensorConversionOptions &sparseTensorConversionOptions, bool createSparseDeallocs, bool enableRuntimeLibrary, bool enableBufferInitialization, unsigned vectorLength, bool enableVLAVectorization, bool enableSIMDIndex32)
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 47 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 239 of file Passes.h.