LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::StackSafetyInfo::FunctionInfo Struct Reference

Describes uses of allocas and parameters inside of a single function. More...

Collaboration diagram for llvm::StackSafetyInfo::FunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 FunctionInfo (const StackSafetyInfo &SSI)
 
 FunctionInfo (const Function *F)
 
 FunctionInfo (const GlobalAlias *A)
 
 FunctionInfo (FunctionInfo &&)=default
 
bool IsDSOLocal () const
 
bool IsInterposable () const
 
StringRef getName () const
 
void print (raw_ostream &O) const
 

Public Attributes

const GlobalValueGV = nullptr
 
SmallVector< AllocaInfo, 4 > Allocas
 
SmallVector< ParamInfo, 4 > Params
 
int UpdateCount = 0
 

Detailed Description

Describes uses of allocas and parameters inside of a single function.

Definition at line 146 of file StackSafetyAnalysis.cpp.

Constructor & Destructor Documentation

◆ FunctionInfo() [1/4]

llvm::StackSafetyInfo::FunctionInfo::FunctionInfo ( const StackSafetyInfo SSI)
inline

Definition at line 158 of file StackSafetyAnalysis.cpp.

◆ FunctionInfo() [2/4]

llvm::StackSafetyInfo::FunctionInfo::FunctionInfo ( const Function F)
inlineexplicit

Definition at line 160 of file StackSafetyAnalysis.cpp.

◆ FunctionInfo() [3/4]

llvm::StackSafetyInfo::FunctionInfo::FunctionInfo ( const GlobalAlias A)
explicit

Definition at line 189 of file StackSafetyAnalysis.cpp.

References A, llvm::ConstantRange::add(), llvm::Module::aliases(), llvm::StackSafetyInfo::FunctionInfo::Allocas, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), assert(), B, llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::MCID::Call, Callee, llvm::SmallVectorImpl< T >::clear(), llvm::dbgs(), llvm::dyn_cast(), E, llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorImpl< T >::erase(), F(), function, llvm::Module::functions(), llvm::GlobalIndirectSymbol::getBaseObject(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue(), llvm::Module::getDataLayout(), llvm::MemIntrinsicBase< Derived >::getLength(), llvm::StackSafetyInfo::FunctionInfo::getName(), llvm::FunctionType::getNumParams(), llvm::GlobalValue::getParent(), llvm::DataLayout::getPointerSizeInBits(), llvm::MemIntrinsicBase< Derived >::getRawDest(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSize(), llvm::GlobalValue::getValueType(), I, Info, llvm::SmallPtrSetImpl< PtrType >::insert(), instructions, llvm::StackSafetyInfo::FunctionInfo::IsDSOLocal(), llvm::ConstantRange::isEmptySet(), llvm::StackSafetyInfo::FunctionInfo::IsInterposable(), IT, LLVM_DEBUG, llvm::SPII::Load, llvm::LegalizeActions::Lower, llvm::make_range(), MI, llvm::RISCVFenceField::O, llvm::StackSafetyInfo::FunctionInfo::Params, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::StackSafetyInfo::FunctionInfo::print(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::MipsISD::Ret, Rewriter, llvm::SmallVectorBase::size(), llvm::sort(), StackSafetyMaxIterations, llvm::SPII::Store, llvm::Value::stripPointerCastsNoFollowAliases(), llvm::StackSafetyInfo::FunctionInfo::UpdateCount, llvm::Upper, llvm::Value::uses(), and llvm::ConstantRange::zextOrTrunc().

◆ FunctionInfo() [4/4]

llvm::StackSafetyInfo::FunctionInfo::FunctionInfo ( FunctionInfo &&  )
default

Member Function Documentation

◆ getName()

StringRef llvm::StackSafetyInfo::FunctionInfo::getName ( ) const
inline

◆ IsDSOLocal()

bool llvm::StackSafetyInfo::FunctionInfo::IsDSOLocal ( ) const
inline

◆ IsInterposable()

bool llvm::StackSafetyInfo::FunctionInfo::IsInterposable ( ) const
inline

◆ print()

void llvm::StackSafetyInfo::FunctionInfo::print ( raw_ostream O) const
inline

Definition at line 172 of file StackSafetyAnalysis.cpp.

References getName().

Referenced by llvm::StackSafetyInfo::FunctionInfo::FunctionInfo().

Member Data Documentation

◆ Allocas

SmallVector<AllocaInfo, 4> llvm::StackSafetyInfo::FunctionInfo::Allocas

◆ GV

const GlobalValue* llvm::StackSafetyInfo::FunctionInfo::GV = nullptr

Definition at line 148 of file StackSafetyAnalysis.cpp.

◆ Params

SmallVector<ParamInfo, 4> llvm::StackSafetyInfo::FunctionInfo::Params

◆ UpdateCount

int llvm::StackSafetyInfo::FunctionInfo::UpdateCount = 0

The documentation for this struct was generated from the following file: