@@ -30,43 +30,12 @@ namespace sparse_tensor {
3030struct SparseCompilerOptions
3131 : public PassPipelineOptions<SparseCompilerOptions> {
3232 // These options must be kept in sync with `SparsificationBase`.
33- // TODO(57514): These options are duplicated in Passes.td.
34- PassOptions::Option<mlir::SparseParallelizationStrategy> parallelization{
33+ PassOptions::Option<int32_t > parallelization{
3534 *this , " parallelization-strategy" ,
36- ::llvm::cl::desc (" Set the parallelization strategy" ),
37- ::llvm::cl::init(mlir::SparseParallelizationStrategy::kNone ),
38- llvm::cl::values(
39- clEnumValN (mlir::SparseParallelizationStrategy::kNone , " none" ,
40- " Turn off sparse parallelization." ),
41- clEnumValN(mlir::SparseParallelizationStrategy::kDenseOuterLoop ,
42- " dense-outer-loop" ,
43- " Enable dense outer loop sparse parallelization." ),
44- clEnumValN(mlir::SparseParallelizationStrategy::kAnyStorageOuterLoop ,
45- " any-storage-outer-loop" ,
46- " Enable sparse parallelization regardless of storage for "
47- " the outer loop." ),
48- clEnumValN(mlir::SparseParallelizationStrategy::kDenseAnyLoop ,
49- " dense-any-loop" ,
50- " Enable dense parallelization for any loop." ),
51- clEnumValN(
52- mlir::SparseParallelizationStrategy::kAnyStorageAnyLoop ,
53- " any-storage-any-loop" ,
54- " Enable sparse parallelization for any storage and loop." ))};
55- PassOptions::Option<mlir::SparseVectorizationStrategy> vectorization{
56- *this , " vectorization-strategy" ,
57- ::llvm::cl::desc (" Set the vectorization strategy" ),
58- ::llvm::cl::init(mlir::SparseVectorizationStrategy::kNone ),
59- llvm::cl::values(
60- clEnumValN (mlir::SparseVectorizationStrategy::kNone , " none" ,
61- " Turn off sparse vectorization." ),
62- clEnumValN(mlir::SparseVectorizationStrategy::kDenseInnerLoop ,
63- " dense-inner-loop" ,
64- " Enable vectorization for dense inner loops." ),
65- clEnumValN(mlir::SparseVectorizationStrategy::kAnyStorageInnerLoop ,
66- " any-storage-inner-loop" ,
67- " Enable sparse vectorization for inner loops with any "
68- " storage." ))};
69-
35+ desc (" Set the parallelization strategy" ), init (0 )};
36+ PassOptions::Option<int32_t > vectorization{
37+ *this , " vectorization-strategy" , desc (" Set the vectorization strategy" ),
38+ init (0 )};
7039 PassOptions::Option<int32_t > vectorLength{
7140 *this , " vl" , desc (" Set the vector length" ), init (1 )};
7241 PassOptions::Option<bool > enableSIMDIndex32{
@@ -81,8 +50,10 @@ struct SparseCompilerOptions
8150
8251 // / Projects out the options for `createSparsificationPass`.
8352 SparsificationOptions sparsificationOptions () const {
84- return SparsificationOptions (parallelization, vectorization, vectorLength,
85- enableSIMDIndex32, enableVLAVectorization);
53+ return SparsificationOptions (sparseParallelizationStrategy (parallelization),
54+ sparseVectorizationStrategy (vectorization),
55+ vectorLength, enableSIMDIndex32,
56+ enableVLAVectorization);
8657 }
8758
8859 // These options must be kept in sync with `SparseTensorConversionBase`.
0 commit comments