LLVM 23.0.0git
llvm::StackSafetyInfo Class Reference

Interface to access stack safety analysis results for single function. More...

#include "llvm/Analysis/StackSafetyAnalysis.h"

Classes

struct  InfoTy

Public Member Functions

LLVM_ABI StackSafetyInfo ()
LLVM_ABI StackSafetyInfo (Function *F, std::function< ScalarEvolution &()> GetSE)
LLVM_ABI StackSafetyInfo (StackSafetyInfo &&)
LLVM_ABI StackSafetyInfooperator= (StackSafetyInfo &&)
LLVM_ABI ~StackSafetyInfo ()
LLVM_ABI const InfoTygetInfo () const
LLVM_ABI void print (raw_ostream &O) const
LLVM_ABI std::vector< FunctionSummary::ParamAccessgetParamAccesses (ModuleSummaryIndex &Index) const
 Parameters use for a FunctionSummary.

Detailed Description

Interface to access stack safety analysis results for single function.

Definition at line 26 of file StackSafetyAnalysis.h.

Constructor & Destructor Documentation

◆ StackSafetyInfo() [1/3]

StackSafetyInfo::StackSafetyInfo ( )
default

References LLVM_ABI.

Referenced by operator=(), and StackSafetyInfo().

◆ StackSafetyInfo() [2/3]

StackSafetyInfo::StackSafetyInfo ( Function * F,
std::function< ScalarEvolution &()> GetSE )

Definition at line 883 of file StackSafetyAnalysis.cpp.

◆ StackSafetyInfo() [3/3]

StackSafetyInfo::StackSafetyInfo ( StackSafetyInfo && )
default

References LLVM_ABI, and StackSafetyInfo().

◆ ~StackSafetyInfo()

StackSafetyInfo::~StackSafetyInfo ( )
default

References LLVM_ABI.

Member Function Documentation

◆ getInfo()

const StackSafetyInfo::InfoTy & StackSafetyInfo::getInfo ( ) const

Definition at line 893 of file StackSafetyAnalysis.cpp.

Referenced by getParamAccesses(), and print().

◆ getParamAccesses()

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 939 of file StackSafetyAnalysis.cpp.

References llvm::CallingConv::C, getInfo(), and llvm::sort().

◆ operator=()

StackSafetyInfo & StackSafetyInfo::operator= ( StackSafetyInfo && )
default

References LLVM_ABI, and StackSafetyInfo().

◆ print()

void StackSafetyInfo::print ( raw_ostream & O) const

Definition at line 901 of file StackSafetyAnalysis.cpp.

References getInfo(), and llvm::StackSafetyInfo::InfoTy::Info.


The documentation for this class was generated from the following files: