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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20#ifndef LLVM_ANALYSIS_CALLGRAPHSCCPASS_H

21#define LLVM_ANALYSIS_CALLGRAPHSCCPASS_H

22

26#include

27

28namespace llvm {

29

34

36public:

38

39

40

42 const std::string &Banner) const override;

43

46

47

48

52

53

54

55

56

57

58

59

61

62

63

67

68

70

71

75

76

77

78

80};

81

82

84 const CallGraph &CG;

85 void *Context;

86 std::vector<CallGraphNode *> Nodes;

87

88public:

90

92 Nodes.assign(NewNodes.begin(), NewNodes.end());

93 }

94

95 bool isSingular() const { return Nodes.size() == 1; }

96 unsigned size() const { return Nodes.size(); }

97

98

99

101

102

103

105

106 using iterator = std::vector<CallGraphNode *>::const_iterator;

107

110

112};

113

115

116

117

119public:

121

126

128

132};

133

134}

135

136#endif

Analysis containing CSE Info

Represent the analysis usage information of a pass.

void setPreservesAll()

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

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

A node in the call graph for a module.

virtual bool doFinalization(CallGraph &CG)

doFinalization - This method is called after the SCC's of the program has been processed,...

Definition CallGraphSCCPass.h:64

PassManagerType getPotentialPassManagerType() const override

Return what kind of Pass Manager can manage this pass.

Definition CallGraphSCCPass.h:72

CallGraphSCCPass(char &pid)

Definition CallGraphSCCPass.h:37

virtual bool runOnSCC(CallGraphSCC &SCC)=0

runOnSCC - This method should be implemented by the subclass to perform whatever action is necessary ...

virtual bool doInitialization(CallGraph &CG)

doInitialization - This method is called before the SCC's of the program has been processed,...

Definition CallGraphSCCPass.h:49

CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on.

Definition CallGraphSCCPass.h:83

bool isSingular() const

Definition CallGraphSCCPass.h:95

std::vector< CallGraphNode * >::const_iterator iterator

Definition CallGraphSCCPass.h:106

const CallGraph & getCallGraph()

Definition CallGraphSCCPass.h:111

LLVM_ABI void ReplaceNode(CallGraphNode *Old, CallGraphNode *New)

ReplaceNode - This informs the SCC and the pass manager that the specified Old node has been deleted,...

LLVM_ABI void DeleteNode(CallGraphNode *Old)

DeleteNode - This informs the SCC and the pass manager that the specified Old node has been deleted.

void initialize(ArrayRef< CallGraphNode * > NewNodes)

Definition CallGraphSCCPass.h:91

unsigned size() const

Definition CallGraphSCCPass.h:96

iterator begin() const

Definition CallGraphSCCPass.h:108

iterator end() const

Definition CallGraphSCCPass.h:109

CallGraphSCC(CallGraph &cg, void *context)

Definition CallGraphSCCPass.h:89

The basic data container for the call graph of a Module of IR.

DummyCGSCCPass()

Definition CallGraphSCCPass.h:122

static LLVM_ABI char ID

Definition CallGraphSCCPass.h:120

bool runOnSCC(CallGraphSCC &SCC) override

runOnSCC - This method should be implemented by the subclass to perform whatever action is necessary ...

Definition CallGraphSCCPass.h:127

void getAnalysisUsage(AnalysisUsage &AU) const override

getAnalysisUsage - For this class, we declare that we require and preserve the call graph.

Definition CallGraphSCCPass.h:129

PMStack - This class implements a stack data structure of PMDataManager pointers.

PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...

static LLVM_ABI PassRegistry * getPassRegistry()

getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...

Pass interface - Implemented by all 'passes'.

Pass(PassKind K, char &pid)

virtual bool doInitialization(Module &)

doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...

virtual bool doFinalization(Module &)

doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes...

A global registry used in conjunction with static constructors to make pluggable components (like tar...

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.

PassManagerType

Different types of internal pass managers.

@ PMT_CallGraphPassManager

CGPassManager.

LLVM_ABI void initializeDummyCGSCCPassPass(PassRegistry &)