13 #ifndef MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_PASSES_H_
14 #define MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_PASSES_H_
26 namespace bufferization {
27 struct OneShotBufferizationOptions;
57 #include "mlir/Dialect/SparseTensor/Transforms/Passes.h.inc"
115 std::unique_ptr<Pass>
132 bool enableRT,
bool enableConvert);
175 bool createSparseDeallocs,
176 bool enableBufferInitialization);
179 std::unique_ptr<Pass>
181 bool enableBufferInitialization);
188 bool enableBufferInitialization);
191 std::unique_ptr<Pass>
199 unsigned vectorLength,
200 bool enableVLAVectorization,
201 bool enableSIMDIndex32);
205 bool enableVLAVectorization,
206 bool enableSIMDIndex32);
213 unsigned numThreads);
247 bool createSparseDeallocs,
bool enableRuntimeLibrary,
248 bool enableBufferInitialization,
unsigned vectorLength,
249 bool enableVLAVectorization,
bool enableSIMDIndex32,
bool enableGPULibgen);
256 #define GEN_PASS_REGISTRATION
257 #include "mlir/Dialect/SparseTensor/Transforms/Passes.h.inc"
static llvm::ManagedStatic< PassManagerOptions > options
Sparse tensor type converter into an actual buffer.
SparseTensorTypeToBufferConverter()
Sparse tensor type converter into an opaque pointer.
SparseTensorTypeToPtrConverter()
StorageSpecifierToLLVMTypeConverter()
Include the generated interface declarations.
std::unique_ptr< Pass > createSparseVectorizationPass()
std::unique_ptr< Pass > createSparseAssembler()
std::unique_ptr< Pass > createLowerSparseOpsToForeachPass()
std::unique_ptr< Pass > createSparseTensorCodegenPass()
std::unique_ptr< Pass > createSparseGPUCodegenPass()
bufferization::OneShotBufferizationOptions getBufferizationOptionsForSparsification(bool analysisOnly)
std::unique_ptr< Pass > createSparseReinterpretMapPass()
void populateSparseReinterpretMap(RewritePatternSet &patterns, ReinterpretMapScope scope)
void populateSparseGPULibgenPatterns(RewritePatternSet &patterns, bool enableRT)
std::unique_ptr< Pass > createSparseTensorConversionPass()
std::unique_ptr< Pass > createSparseBufferRewritePass()
std::unique_ptr< Pass > createSparsificationAndBufferizationPass()
void populateSparseBufferRewriting(RewritePatternSet &patterns, bool enableBufferInitialization)
void populatePreSparsificationRewriting(RewritePatternSet &patterns)
void populateSparseVectorizationPatterns(RewritePatternSet &patterns, unsigned vectorLength, bool enableVLAVectorization, bool enableSIMDIndex32)
Populates the given patterns list with vectorization rules.
SparseParallelizationStrategy
Defines a parallelization strategy.
void populateStorageSpecifierToLLVMPatterns(TypeConverter &converter, RewritePatternSet &patterns)
ReinterpretMapScope
Defines a scope for reinterpret map pass.
void populateSparsificationPatterns(RewritePatternSet &patterns, const SparsificationOptions &options=SparsificationOptions())
Sets up sparsification rewriting rules with the given options.
SparseEmitStrategy
Defines a scope for reinterpret map pass.
void populateLowerSparseOpsToForeachPatterns(RewritePatternSet &patterns, bool enableRT, bool enableConvert)
std::unique_ptr< Pass > createStorageSpecifierToLLVMPass()
std::unique_ptr< Pass > createPreSparsificationRewritePass()
std::unique_ptr< Pass > createLowerForeachToSCFPass()
void populateSparseAssembler(RewritePatternSet &patterns, bool directOut)
void populateStageSparseOperationsPatterns(RewritePatternSet &patterns)
Sets up StageSparseOperation rewriting rules.
void populateSparseTensorConversionPatterns(TypeConverter &typeConverter, RewritePatternSet &patterns)
Sets up sparse tensor conversion rules.
void populateSparseGPUCodegenPatterns(RewritePatternSet &patterns, unsigned numThreads)
std::unique_ptr< Pass > createStageSparseOperationsPass()
void populateSparseTensorCodegenPatterns(TypeConverter &typeConverter, RewritePatternSet &patterns, bool createSparseDeallocs, bool enableBufferInitialization)
Sets up sparse tensor codegen rules.
std::unique_ptr< Pass > createSparsificationPass()
void populateLowerForeachToSCFPatterns(RewritePatternSet &patterns)
Options for the Sparsification pass.
SparseEmitStrategy sparseEmitStrategy
SparseParallelizationStrategy parallelizationStrategy
SparsificationOptions(SparseParallelizationStrategy p, SparseEmitStrategy d, bool enableRT)
SparsificationOptions(SparseParallelizationStrategy p, bool enableRT)
bool enableRuntimeLibrary
Options for analysis-enabled bufferization.