23 memref::ExpandReallocPassOptions expandAllocPassOptions{
25 pm.
addPass(memref::createExpandReallocPass(expandAllocPassOptions));
28 OwnershipBasedBufferDeallocationPassOptions deallocationOptions{
29 options.privateFunctionDynamicOwnership};
30 pm.
addPass(createOwnershipBasedBufferDeallocationPass(deallocationOptions));
32 pm.
addPass(createBufferDeallocationSimplificationPass());
33 pm.
addPass(createLowerDeallocationsPass());
44 "buffer-deallocation-pipeline",
45 "The default pipeline for automatically inserting deallocation "
46 "operations after one-shot bufferization. Deallocation operations "
47 "(except `memref.realloc`) may not be present already.",
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 registerBufferizationPipelines()
Registers all pipelines for the bufferization dialect.
void buildBufferDeallocationPipeline(OpPassManager &pm, const BufferDeallocationPipelineOptions &options)
Adds the buffer deallocation pipeline to the OpPassManager.
std::unique_ptr< Pass > createCSEPass()
Creates a pass to perform common sub expression elimination.
std::unique_ptr< Pass > createCanonicalizerPass()
Creates an instance of the Canonicalizer pass, configured with default settings (which can be overrid...
PassPipelineRegistration provides a global initializer that registers a Pass pipeline builder routine...
Options for the buffer deallocation pipeline.