LLVM 20.0.0git
|
Interface to access stack safety analysis results for single function. More...
#include "llvm/Analysis/StackSafetyAnalysis.h"
Classes | |
struct | InfoTy |
Public Member Functions | |
StackSafetyInfo () | |
StackSafetyInfo (Function *F, std::function< ScalarEvolution &()> GetSE) | |
StackSafetyInfo (StackSafetyInfo &&) | |
StackSafetyInfo & | operator= (StackSafetyInfo &&) |
~StackSafetyInfo () | |
const InfoTy & | getInfo () const |
void | print (raw_ostream &O) const |
std::vector< FunctionSummary::ParamAccess > | getParamAccesses (ModuleSummaryIndex &Index) const |
Parameters use for a FunctionSummary. | |
Interface to access stack safety analysis results for single function.
Definition at line 26 of file StackSafetyAnalysis.h.
|
default |
StackSafetyInfo::StackSafetyInfo | ( | Function * | F, |
std::function< ScalarEvolution &()> | GetSE | ||
) |
Definition at line 885 of file StackSafetyAnalysis.cpp.
|
default |
|
default |
const StackSafetyInfo::InfoTy & StackSafetyInfo::getInfo | ( | ) | const |
Definition at line 895 of file StackSafetyAnalysis.cpp.
Referenced by getParamAccesses(), and print().
std::vector< FunctionSummary::ParamAccess > StackSafetyInfo::getParamAccesses | ( | ModuleSummaryIndex & | Index | ) | const |
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.
Definition at line 941 of file StackSafetyAnalysis.cpp.
References llvm::CallingConv::C, getInfo(), Info, and llvm::sort().
|
default |
void StackSafetyInfo::print | ( | raw_ostream & | O | ) | const |
Definition at line 903 of file StackSafetyAnalysis.cpp.
References F, getInfo(), and llvm::StackSafetyInfo::InfoTy::Info.