LLVM 20.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 (function_ref< AssumptionCache &(Function &)> GetAssumptionCache=nullptr, ProfileSummaryInfo *PSI=nullptr, BlockFrequencyInfo *CallerBFI=nullptr, BlockFrequencyInfo *CalleeBFI=nullptr, bool UpdateProfile=true) | |
void | reset () |
Public Attributes | |
function_ref< AssumptionCache &(Function &)> | GetAssumptionCache |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes. | |
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 238 of file Cloning.h.
References InlinedCalls, InlinedCallSites, and StaticAllocas.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 217 of file Cloning.h.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 217 of file Cloning.h.
Referenced by llvm::InlineFunction().
function_ref<AssumptionCache &(Function &)> llvm::InlineFunctionInfo::GetAssumptionCache |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes.
Definition at line 215 of file Cloning.h.
Referenced by AddAlignmentAssumptions(), HandleByValArgument(), and llvm::InlineFunction().
SmallVector<WeakTrackingVH, 8> llvm::InlineFunctionInfo::InlinedCalls |
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 232 of file Cloning.h.
Referenced by llvm::InlineFunction(), and reset().
ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 216 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 221 of file Cloning.h.
Referenced by HandleByValArgument(), llvm::InlineFunction(), InsertSafepointPoll(), 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 236 of file Cloning.h.
Referenced by llvm::InlineFunction().