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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_ANALYSIS_STACKSAFETYANALYSIS_H

14#define LLVM_ANALYSIS_STACKSAFETYANALYSIS_H

15

19

20namespace llvm {

21

24

25

27public:

29

30private:

33 mutable std::unique_ptr Info;

34

35public:

41

43

44

46

47

48

49

50

51

52

53

54 std::vectorFunctionSummary::ParamAccess

56};

57

59public:

61

62private:

66 mutable std::unique_ptr Info;

67 const InfoTy &getInfo() const;

68

69public:

77

78

79

81

82

83

84

85

88 void dump() const;

89};

90

91

100

101

110

111

114

115public:

118

120

123

125};

126

127

128

138

139

141 : public PassInfoMixin {

143

144public:

148};

149

150

151

154

155public:

157

160

162

165

167};

168

170

172

173}

174

175#endif

This header defines various interfaces for pass management in LLVM.

Machine Check Debug Module

ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and s...

an instruction to allocate memory on the stack

Represent the analysis usage information of a pass.

Class to hold module path string table and global value map, and encapsulate methods for operating on...

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.

The main scalar evolution driver.

StackSafetyInfo wrapper for the new pass manager.

Definition StackSafetyAnalysis.h:92

StackSafetyInfo run(Function &F, FunctionAnalysisManager &AM)

StackSafetyInfo Result

Definition StackSafetyAnalysis.h:97

This pass performs the global (interprocedural) stack safety analysis (new pass manager).

Definition StackSafetyAnalysis.h:130

Result run(Module &M, ModuleAnalysisManager &AM)

StackSafetyGlobalInfo Result

Definition StackSafetyAnalysis.h:135

bool runOnModule(Module &M) override

runOnModule - Virtual method overriden by subclasses to process the module being operated on.

static char ID

Definition StackSafetyAnalysis.h:156

StackSafetyGlobalInfoWrapperPass()

const StackSafetyGlobalInfo & getResult() const

Definition StackSafetyAnalysis.h:161

~StackSafetyGlobalInfoWrapperPass() override

void getAnalysisUsage(AnalysisUsage &AU) const override

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

void print(raw_ostream &O, const Module *M) const override

print - Print out the internal state of the pass.

StackSafetyGlobalInfo(StackSafetyGlobalInfo &&)

void print(raw_ostream &O) const

bool stackAccessIsSafe(const Instruction &I) const

bool isSafe(const AllocaInst &AI) const

StackSafetyGlobalInfo & operator=(StackSafetyGlobalInfo &&)

static bool isRequired()

Definition StackSafetyAnalysis.h:147

PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)

StackSafetyGlobalPrinterPass(raw_ostream &OS)

Definition StackSafetyAnalysis.h:145

void print(raw_ostream &O, const Module *M) const override

print - Print out the internal state of the pass.

bool runOnFunction(Function &F) override

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

void getAnalysisUsage(AnalysisUsage &AU) const override

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

static char ID

Definition StackSafetyAnalysis.h:116

const StackSafetyInfo & getResult() const

Definition StackSafetyAnalysis.h:119

StackSafetyInfoWrapperPass()

Interface to access stack safety analysis results for single function.

Definition StackSafetyAnalysis.h:26

void print(raw_ostream &O) const

const InfoTy & getInfo() const

StackSafetyInfo(StackSafetyInfo &&)

StackSafetyInfo & operator=(StackSafetyInfo &&)

std::vector< FunctionSummary::ParamAccess > getParamAccesses(ModuleSummaryIndex &Index) const

Parameters use for a FunctionSummary.

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

static bool isRequired()

Definition StackSafetyAnalysis.h:108

StackSafetyPrinterPass(raw_ostream &OS)

Definition StackSafetyAnalysis.h:106

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.

void generateParamAccessSummary(ModuleSummaryIndex &Index)

bool needsParamAccessSummary(const Module &M)

AnalysisManager< Function > FunctionAnalysisManager

Convenience typedef for the Function analysis manager.

AnalysisManager< Module > ModuleAnalysisManager

Convenience typedef for the Module 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...

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