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 290 of file Cloning.h.
References InlinedCalls, InlinedCallSites, and StaticAllocas.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 269 of file Cloning.h.
Referenced by llvm::InlineFunction().
BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 269 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 267 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 284 of file Cloning.h.
Referenced by llvm::InlineFunction(), and reset().
ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 268 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 273 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 288 of file Cloning.h.
Referenced by llvm::InlineFunction().