LLVM 17.0.0git
|
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, function_ref< AssumptionCache &(Function &)> GetAssumptionCache=nullptr, ProfileSummaryInfo *PSI=nullptr, BlockFrequencyInfo *CallerBFI=nullptr, BlockFrequencyInfo *CalleeBFI=nullptr, bool UpdateProfile=true) | |
void | reset () |
Public Attributes | |
CallGraph * | CG |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes. | |
function_ref< 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. | |
SmallVector< WeakTrackingVH, 8 > | InlinedCalls |
InlineFunction fills this in with callsites that were inlined from the callee. | |
SmallVector< CallBase *, 8 > | InlinedCallSites |
All of the new call sites inlined into the caller. | |
bool | UpdateProfile |
Update profile for callee as well as cloned version. | |
This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it.
|
inlineexplicit |
|
inline |
Definition at line 241 of file Cloning.h.
References InlinedCalls, InlinedCallSites, and StaticAllocas.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 220 of file Cloning.h.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 220 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 217 of file Cloning.h.
Referenced by llvm::InlineFunction(), and UpdateCallGraphAfterInlining().
function_ref<AssumptionCache &(Function &)> llvm::InlineFunctionInfo::GetAssumptionCache |
Definition at line 218 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 228 of file Cloning.h.
Referenced by reset(), and UpdateCallGraphAfterInlining().
SmallVector<CallBase *, 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 235 of file Cloning.h.
Referenced by llvm::InlineFunction(), and reset().
ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 219 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 224 of file Cloning.h.
Referenced by HandleByValArgument(), llvm::InlineFunction(), InsertSafepointPoll(), mergeInlinedArrayAllocas(), and reset().
bool llvm::InlineFunctionInfo::UpdateProfile |
Update profile for callee as well as cloned version.
We need to do this for regular inlining, but not for inlining from sample profile loader.
Definition at line 239 of file Cloning.h.
Referenced by llvm::InlineFunction().