|
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().
1.8.13