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

Methods

StackSafetyInfo()

Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:36

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&&)

Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:38

Parameters

llvm::StackSafetyInfo&&

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

Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:42

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

Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:45

Parameters

llvm::raw_ostream& O

~StackSafetyInfo()

Declared at: llvm/include/llvm/Analysis/StackSafetyAnalysis.h:40