MLIR: lib/Dialect/Bufferization/Pipelines/BufferizationPipelines.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

10

16

17

18

19

20

23 memref::ExpandReallocPassOptions expandAllocPassOptions{

24 false};

25 pm.addPass(memref::createExpandReallocPass(expandAllocPassOptions));

27

28 OwnershipBasedBufferDeallocationPassOptions deallocationOptions{

29 options.privateFunctionDynamicOwnership};

30 pm.addPass(createOwnershipBasedBufferDeallocationPass(deallocationOptions));

32 pm.addPass(createBufferDeallocationSimplificationPass());

33 pm.addPass(createLowerDeallocationsPass());

36 }

37

38

39

40

41

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.",

49 }

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.