class StackSafetyInfo
Declaration
class StackSafetyInfo { /* full declaration omitted */ };
Description
Interface to access stack safety analysis results for single function.
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:26
Member Variables
- private llvm::Function* F = nullptr
- private std::function<ScalarEvolution&()> GetSE
- private std::unique_ptr<InfoTy> Info
Method Overview
- public StackSafetyInfo()
- public StackSafetyInfo(llvm::Function * F, std::function<ScalarEvolution &()> GetSE)
- public StackSafetyInfo(llvm::StackSafetyInfo &&)
- public const llvm::StackSafetyInfo::InfoTy & getInfo() const
- public std::vector<FunctionSummary::ParamAccess> getParamAccesses(llvm::ModuleSummaryIndex & Index) const
- public void print(llvm::raw_ostream & O) const
- public ~StackSafetyInfo()
Methods
¶StackSafetyInfo()
StackSafetyInfo()
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:36
¶StackSafetyInfo(
llvm::Function* F,
std::function<ScalarEvolution&()> GetSE)
StackSafetyInfo(
llvm::Function* F,
std::function<ScalarEvolution&()> GetSE)
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:37
Parameters
- llvm::Function* F
- std::function<ScalarEvolution&()> GetSE
¶StackSafetyInfo(llvm::StackSafetyInfo&&)
StackSafetyInfo(llvm::StackSafetyInfo&&)
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:38
Parameters
¶const llvm::StackSafetyInfo::InfoTy& getInfo()
const
const llvm::StackSafetyInfo::InfoTy& getInfo()
const
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:42
¶std::vector<FunctionSummary::ParamAccess>
getParamAccesses(
llvm::ModuleSummaryIndex& Index) const
std::vector<FunctionSummary::ParamAccess>
getParamAccesses(
llvm::ModuleSummaryIndex& Index) const
Description
Parameters use for a FunctionSummary. Function collects access information of all pointer parameters. Information includes a range of direct access of parameters by the functions and all call sites accepting the parameter. StackSafety assumes that missing parameter information means possibility of access to the parameter with any offset, so we can correctly link code without StackSafety information, e.g. non-ThinLTO.
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:55
Parameters
- llvm::ModuleSummaryIndex& Index
¶void print(llvm::raw_ostream& O) const
void print(llvm::raw_ostream& O) const
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:45
Parameters
¶~StackSafetyInfo()
~StackSafetyInfo()
Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:40