35 options.testBufferizationAnalysisOnly),
40 options.force32BitVectorIndices,
42 options.sparsificationOptions().sparseEmitStrategy,
43 options.sparsificationOptions().parallelizationStrategy));
46 if (
options.testBufferizationAnalysisOnly)
54 const bool gpuCodegen =
options.gpuTriple.hasValue();
109 "The standard pipeline for taking sparsity-agnostic IR using the"
110 " sparse-tensor type, and lowering it to LLVM IR with concrete"
111 " representations and algorithms for sparse tensors.",
static llvm::ManagedStatic< PassManagerOptions > options
This class represents a pass manager that runs passes on either a specific operation type,...
void addPass(std::unique_ptr< Pass > pass)
Add the given pass to this pass manager.
void addNestedPass(std::unique_ptr< Pass > pass)
Add the given pass to a nested pass manager for the given operation kind OpT.
std::unique_ptr<::mlir::Pass > createArithExpandOpsPass()
std::unique_ptr<::mlir::Pass > createExpandReallocPass()
std::unique_ptr<::mlir::Pass > createExpandStridedMetadataPass()
void buildSparsifier(OpPassManager &pm, const SparsifierOptions &options)
Adds the "sparsifier" pipeline to the OpPassManager.
void registerSparseTensorPipelines()
Registers all pipelines for the sparse_tensor dialect.
std::unique_ptr<::mlir::Pass > createConvertToLLVMPass()
std::unique_ptr<::mlir::Pass > createSCFToControlFlowPass()
std::unique_ptr<::mlir::Pass > createConvertMathToLLVMPass()
std::unique_ptr< Pass > createSparseGPUCodegenPass()
bufferization::OneShotBufferizationOptions getBufferizationOptionsForSparsification(bool analysisOnly)
std::unique_ptr< Pass > createStripDebugInfoPass()
Creates a pass to strip debug information from a function.
std::unique_ptr<::mlir::Pass > createReconcileUnrealizedCastsPass()
std::unique_ptr<::mlir::Pass > createConvertVectorToLLVMPass()
std::unique_ptr< Pass > createSparsificationAndBufferizationPass()
std::unique_ptr<::mlir::Pass > createConvertComplexToLibm()
std::unique_ptr<::mlir::Pass > createGpuNVVMAttachTarget()
std::unique_ptr<::mlir::Pass > createLinalgElementwiseOpFusionPass()
std::unique_ptr<::mlir::Pass > createConvertGpuOpsToNVVMOps()
std::unique_ptr<::mlir::Pass > createLowerAffinePass()
std::unique_ptr<::mlir::Pass > createConvertMathToLibmPass()
std::unique_ptr<::mlir::Pass > createLinalgGeneralizeNamedOpsPass()
std::unique_ptr< Pass > createStorageSpecifierToLLVMPass()
std::unique_ptr< Pass > createCanonicalizerPass()
Creates an instance of the Canonicalizer pass, configured with default settings (which can be overrid...
std::unique_ptr<::mlir::Pass > createGpuToLLVMConversionPass()
std::unique_ptr<::mlir::Pass > createGpuModuleToBinaryPass()
std::unique_ptr< Pass > createConvertVectorToSCFPass(const VectorTransferToSCFOptions &options=VectorTransferToSCFOptions())
Create a pass to convert a subset of vector ops to SCF.
std::unique_ptr<::mlir::Pass > createConvertLinalgToLoopsPass()
std::unique_ptr<::mlir::Pass > createConvertComplexToStandardPass()
std::string compilationTarget
PassPipelineRegistration provides a global initializer that registers a Pass pipeline builder routine...
Options for the "sparsifier" pipeline.