LLVM  6.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::InlineFunctionInfo Class Reference

InlineFunctionInfo - This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it. More...

#include "llvm/Transforms/Utils/Cloning.h"

Collaboration diagram for llvm::InlineFunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 InlineFunctionInfo (CallGraph *cg=nullptr, std::function< AssumptionCache &(Function &)> *GetAssumptionCache=nullptr, ProfileSummaryInfo *PSI=nullptr, BlockFrequencyInfo *CallerBFI=nullptr, BlockFrequencyInfo *CalleeBFI=nullptr)
 
void reset ()
 

Public Attributes

CallGraphCG
 CG - If non-null, InlineFunction will update the callgraph to reflect the changes it makes. More...
 
std::function< AssumptionCache &(Function &)> * GetAssumptionCache
 
ProfileSummaryInfoPSI
 
BlockFrequencyInfoCallerBFI
 
BlockFrequencyInfoCalleeBFI
 
SmallVector< AllocaInst *, 4 > StaticAllocas
 StaticAllocas - InlineFunction fills this in with all static allocas that get copied into the caller. More...
 
SmallVector< WeakTrackingVH, 8 > InlinedCalls
 InlinedCalls - InlineFunction fills this in with callsites that were inlined from the callee. More...
 
SmallVector< CallSite, 8 > InlinedCallSites
 All of the new call sites inlined into the caller. More...
 

Detailed Description

InlineFunctionInfo - This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it.

Definition at line 176 of file Cloning.h.

Constructor & Destructor Documentation

◆ InlineFunctionInfo()

llvm::InlineFunctionInfo::InlineFunctionInfo ( CallGraph cg = nullptr,
std::function< AssumptionCache &(Function &)> *  GetAssumptionCache = nullptr,
ProfileSummaryInfo PSI = nullptr,
BlockFrequencyInfo CallerBFI = nullptr,
BlockFrequencyInfo CalleeBFI = nullptr 
)
inlineexplicit

Definition at line 178 of file Cloning.h.

Member Function Documentation

◆ reset()

void llvm::InlineFunctionInfo::reset ( )
inline

Member Data Documentation

◆ CalleeBFI

BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI

Definition at line 192 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ CallerBFI

BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI

Definition at line 192 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ CG

CallGraph* llvm::InlineFunctionInfo::CG

CG - If non-null, InlineFunction will update the callgraph to reflect the changes it makes.

Definition at line 189 of file Cloning.h.

Referenced by llvm::InlineFunction(), and UpdateCallGraphAfterInlining().

◆ GetAssumptionCache

std::function<AssumptionCache &(Function &)>* llvm::InlineFunctionInfo::GetAssumptionCache

Definition at line 190 of file Cloning.h.

Referenced by AddAlignmentAssumptions(), HandleByValArgument(), and llvm::InlineFunction().

◆ InlinedCalls

SmallVector<WeakTrackingVH, 8> llvm::InlineFunctionInfo::InlinedCalls

InlinedCalls - InlineFunction fills this in with callsites that were inlined from the callee.

This is only filled in if CG is non-null.

Definition at line 200 of file Cloning.h.

Referenced by inlineCallsImpl(), and UpdateCallGraphAfterInlining().

◆ InlinedCallSites

SmallVector<CallSite, 8> llvm::InlineFunctionInfo::InlinedCallSites

All of the new call sites inlined into the caller.

'InlineFunction' fills this in by scanning the inlined instructions, and only if CG is null. If CG is non-null, instead the value handle InlinedCalls above is used.

Definition at line 207 of file Cloning.h.

Referenced by llvm::InlineFunction(), and llvm::InlinerPass::run().

◆ PSI

ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI

Definition at line 191 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ StaticAllocas

SmallVector<AllocaInst *, 4> llvm::InlineFunctionInfo::StaticAllocas

StaticAllocas - InlineFunction fills this in with all static allocas that get copied into the caller.

Definition at line 196 of file Cloning.h.

Referenced by HandleByValArgument(), llvm::InlineFunction(), and mergeInlinedArrayAllocas().


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