LLVM
8.0.1
|
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"
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 | |
CallGraph * | CG |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes. More... | |
std::function< AssumptionCache &(Function &)> * | GetAssumptionCache |
ProfileSummaryInfo * | PSI |
BlockFrequencyInfo * | CallerBFI |
BlockFrequencyInfo * | CalleeBFI |
SmallVector< AllocaInst *, 4 > | StaticAllocas |
InlineFunction fills this in with all static allocas that get copied into the caller. More... | |
SmallVector< WeakTrackingVH, 8 > | 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... | |
This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it.
|
inlineexplicit |
|
inline |
Definition at line 207 of file Cloning.h.
References C, llvm::SmallVectorImpl< T >::clear(), llvm::cloneLoopWithPreheader(), llvm::DuplicateInstructionsInSplitBetween(), llvm::InlineFunction(), and llvm::remapInstructionsInBlocks().
Referenced by llvm::InlineFunction().
BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 190 of file Cloning.h.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 190 of file Cloning.h.
Referenced by llvm::InlineFunction().
CallGraph* llvm::InlineFunctionInfo::CG |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes.
Definition at line 187 of file Cloning.h.
Referenced by llvm::InlineFunction(), and UpdateCallGraphAfterInlining().
std::function<AssumptionCache &(Function &)>* llvm::InlineFunctionInfo::GetAssumptionCache |
Definition at line 188 of file Cloning.h.
Referenced by AddAlignmentAssumptions(), HandleByValArgument(), and llvm::InlineFunction().
SmallVector<WeakTrackingVH, 8> llvm::InlineFunctionInfo::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 198 of file Cloning.h.
Referenced by UpdateCallGraphAfterInlining().
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 205 of file Cloning.h.
Referenced by llvm::InlineFunction(), and llvm::InlinerPass::run().
ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 189 of file Cloning.h.
Referenced by llvm::InlineFunction().
SmallVector<AllocaInst *, 4> llvm::InlineFunctionInfo::StaticAllocas |
InlineFunction fills this in with all static allocas that get copied into the caller.
Definition at line 194 of file Cloning.h.
Referenced by HandleByValArgument(), llvm::InlineFunction(), and mergeInlinedArrayAllocas().