LLVM: include/llvm/CodeGen/MachinePostDominators.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H

15#define LLVM_CODEGEN_MACHINEPOSTDOMINATORS_H

16

18

19namespace llvm {

20

21extern template class DominatorTreeBase<MachineBasicBlock, true>;

22

23namespace DomTreeBuilder {

26

27extern template void Calculate(MBBPostDomTree &DT);

28extern template void InsertEdge(MBBPostDomTree &DT,

31extern template void DeleteEdge(MBBPostDomTree &DT,

34extern template void ApplyUpdates(MBBPostDomTree &DT,

37extern template bool

40}

41

42

43

44

45

48

49public:

51

53

54

57

58

59 using Base::findNearestCommonDominator;

60

61

62

65};

66

70

72

73public:

75

77};

78

82

83public:

88};

89

91 std::optional PDT;

92

93public:

94 static char ID;

95

97

100

102 void getAnalysisUsage(AnalysisUsage &AU) const override;

104 void verifyAnalysis() const override;

106};

107}

108

109#endif

BlockVerifier::State From

DenseMap< Block *, BlockRelaxAux > Blocks

API to communicate dependencies between analyses during invalidation.

A container for analyses that lazily runs them and caches their results.

Represent the analysis usage information of a pass.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Core dominator tree base class.

MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...

MachinePostDominatorTreePrinterPass(raw_ostream &OS)

const MachinePostDominatorTree & getPostDomTree() const

MachinePostDominatorTreeWrapperPass()

void releaseMemory() override

releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...

MachinePostDominatorTree & getPostDomTree()

MachinePostDominatorTree - an analysis pass wrapper for DominatorTree used to compute the post-domina...

MachinePostDominatorTree(MachineFunction &MF)

MachinePostDominatorTree()=default

A Module instance is used to store all the information related to an LLVM module.

A set of analyses that are preserved following a run of a transformation pass.

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

Printable print(const GCNRegPressure &RP, const GCNSubtarget *ST=nullptr)

A CRTP mix-in that provides informational APIs needed for analysis passes.

A special type used by analysis passes to provide an address that identifies that particular analysis...

A CRTP mix-in to automatically provide informational APIs needed for passes.