LLVM: include/llvm/Analysis/PostDominators.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_ANALYSIS_POSTDOMINATORS_H

14#define LLVM_ANALYSIS_POSTDOMINATORS_H

15

21

22namespace llvm {

23

26

27

28

30public:

32

35

37 FunctionAnalysisManager::Invalidator &);

38

39

41

42

43

45};

46

47

51

53

54public:

55

57

58

59

61};

62

63

65 : public PassInfoMixin {

67

68public:

70

72

74};

75

77 static char ID;

78

80

82

85

87

88 void verifyAnalysis() const override;

89

93

95

97};

98

100

115

116}

117

118#endif

static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)

This file builds on the ADT/GraphTraits.h file to build generic depth first graph iterator.

static bool runOnFunction(Function &F, bool PostInlining)

This header defines various interfaces for pass management in LLVM.

Represent the analysis usage information of a pass.

void setPreservesAll()

Set by analyses that do not transform their input at all.

DomTreeNodeBase< NodeT > * getRootNode()

getRootNode - This returns the entry node for the CFG of the function.

bool dominates(const DomTreeNodeBase< T > *A, const DomTreeNodeBase< T > *B) const

void recalculate(ParentType &Func)

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

Analysis pass which computes a PostDominatorTree.

Definition PostDominators.h:49

LLVM_ABI PostDominatorTree run(Function &F, FunctionAnalysisManager &)

Run the analysis pass over a function and produce a post dominator tree.

PostDominatorTree Result

Provide the result type for this analysis pass.

Definition PostDominators.h:56

LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

LLVM_ABI PostDominatorTreePrinterPass(raw_ostream &OS)

static bool isRequired()

Definition PostDominators.h:73

PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominat...

Definition PostDominators.h:29

PostDominatorTree(Function &F)

Definition PostDominators.h:34

PostDomTreeBase< BasicBlock > Base

Definition PostDominators.h:31

PostDominatorTree()=default

LLVM_ABI bool invalidate(Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &)

Handle invalidation explicitly.

LLVM_ABI bool dominates(const Instruction *I1, const Instruction *I2) const

Return true if I1 dominates I2.

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.

df_iterator< T > df_begin(const T &G)

DominatorTreeBase< T, true > PostDomTreeBase

LLVM_ABI FunctionPass * createPostDomTree()

df_iterator< T > df_end(const T &G)

AnalysisManager< Function > FunctionAnalysisManager

Convenience typedef for the Function analysis manager.

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

df_iterator< DomTreeNode *, df_iterator_default_set< DomTreeNode * > > nodes_iterator

static NodeRef getEntryNode(PostDominatorTree *DT)

Definition PostDominators.h:103

static nodes_iterator nodes_end(PostDominatorTree *N)

Definition PostDominators.h:111

static nodes_iterator nodes_begin(PostDominatorTree *N)

Definition PostDominators.h:107

typename PostDominatorTree *::UnknownGraphTypeError NodeRef

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

void releaseMemory() override

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

Definition PostDominators.h:94

const PostDominatorTree & getPostDomTree() const

Definition PostDominators.h:84

PostDominatorTree & getPostDomTree()

Definition PostDominators.h:83

PostDominatorTreeWrapperPass()

static char ID

Definition PostDominators.h:77

PostDominatorTree DT

Definition PostDominators.h:79

void getAnalysisUsage(AnalysisUsage &AU) const override

getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...

Definition PostDominators.h:90