13 #ifndef MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_PASSES_H_
14 #define MLIR_DIALECT_SPARSETENSOR_TRANSFORMS_PASSES_H_
26 namespace bufferization {
27 struct OneShotBufferizationOptions;
51 #include "mlir/Dialect/SparseTensor/Transforms/Passes.h.inc"
108 bool enableRT,
bool enableConvert);
151 bool createSparseDeallocs,
152 bool enableBufferInitialization);
155 std::unique_ptr<Pass>
157 bool enableBufferInitialization);
164 bool enableBufferInitialization);
167 std::unique_ptr<Pass>
175 unsigned vectorLength,
176 bool enableVLAVectorization,
177 bool enableSIMDIndex32);
181 bool enableVLAVectorization,
182 bool enableSIMDIndex32);
189 unsigned numThreads);
223 bool createSparseDeallocs,
bool enableRuntimeLibrary,
224 bool enableBufferInitialization,
unsigned vectorLength,
225 bool enableVLAVectorization,
bool enableSIMDIndex32,
bool enableGPULibgen);
232 #define GEN_PASS_REGISTRATION
233 #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 > 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.
void populateLowerSparseOpsToForeachPatterns(RewritePatternSet &patterns, bool enableRT, bool enableConvert)
std::unique_ptr< Pass > createStorageSpecifierToLLVMPass()
std::unique_ptr< Pass > createPreSparsificationRewritePass()
std::unique_ptr< Pass > createLowerForeachToSCFPass()
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.
SparseParallelizationStrategy parallelizationStrategy
SparsificationOptions(SparseParallelizationStrategy p, bool enableRT)
bool enableRuntimeLibrary
Options for analysis-enabled bufferization.