13 #ifndef MLIR_DIALECT_SPARSETENSOR_PIPELINES_PASSES_H_ 14 #define MLIR_DIALECT_SPARSETENSOR_PIPELINES_PASSES_H_ 24 namespace sparse_tensor {
34 *
this,
"parallelization-strategy",
35 desc(
"Set the parallelization strategy"), init(0)};
37 *
this,
"vectorization-strategy", desc(
"Set the vectorization strategy"),
40 *
this,
"vl", desc(
"Set the vector length"), init(1)};
42 *
this,
"enable-simd-index32",
43 desc(
"Enable i32 indexing into vectors (for efficiency)"), init(
false)};
45 *
this,
"enable-vla-vectorization",
46 desc(
"Enable vector length agnostic vectorization"), init(
false)};
48 *
this,
"test-bufferization-analysis-only",
49 desc(
"Run only the inplacability analysis"), init(
false)};
55 vectorLength, enableSIMDIndex32,
56 enableVLAVectorization);
61 *
this,
"s2s-strategy",
62 desc(
"Set the strategy for sparse-to-sparse conversion"), init(0)};
73 *
this,
"reassociate-fp-reductions",
74 desc(
"Allows llvm to reassociate floating-point reductions for speed"),
77 *
this,
"enable-index-optimizations",
78 desc(
"Allows compiler to assume indices fit in 32-bit if that yields " 83 desc(
"Enables the use of AMX dialect while lowering the vector dialect."),
86 desc(
"Enables the use of ArmNeon dialect " 87 "while lowering the vector dialect."),
90 desc(
"Enables the use of ArmSVE dialect " 91 "while lowering the vector dialect."),
94 *
this,
"enable-x86vector",
95 desc(
"Enables the use of X86Vector dialect while lowering the vector " 130 #endif // MLIR_DIALECT_SPARSETENSOR_PIPELINES_PASSES_H_ Include the generated interface declarations.
LowerVectorToLLVMOptions & enableAMX(bool b=true)
LowerVectorToLLVMOptions & enableArmNeon(bool b=true)
LowerVectorToLLVMOptions & enableIndexOptimizations(bool b=true)
void buildSparseCompiler(OpPassManager &pm, const SparseCompilerOptions &options)
Adds the "sparse-compiler" pipeline to the OpPassManager.
SparseToSparseConversionStrategy sparseToSparseConversionStrategy(int32_t flag)
Converts command-line sparse2sparse flag to the strategy enum.
SparseTensorConversionOptions sparseTensorConversionOptions() const
Projects out the options for createSparsificationPass.
SparseTensorConversion options.
void registerSparseTensorPipelines()
Registers all pipelines for the sparse_tensor dialect.
Options to control Vector to LLVM lowering.
LowerVectorToLLVMOptions & enableX86Vector(bool b=true)
LowerVectorToLLVMOptions & enableReassociateFPReductions(bool b=true)
static llvm::ManagedStatic< PassManagerOptions > options
Options for the "sparse-compiler" pipeline.
Subclasses of PassPipelineOptions provide a set of options that can be used to initialize a pass pipe...
SparsificationOptions sparsificationOptions() const
Projects out the options for createSparsificationPass.
Options for the Sparsification pass.
SparseParallelizationStrategy sparseParallelizationStrategy(int32_t flag)
Converts command-line parallelization flag to the strategy enum.
LowerVectorToLLVMOptions & enableArmSVE(bool b=true)
SparseVectorizationStrategy sparseVectorizationStrategy(int32_t flag)
Converts command-line vectorization flag to the strategy enum.
LowerVectorToLLVMOptions lowerVectorToLLVMOptions() const
Projects out the options for createConvertVectorToLLVMPass.
This class represents a pass manager that runs passes on either a specific operation type...