LLVM 22.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. | |
Value * | ConvergenceControlToken = nullptr |
Instruction * | CallSiteEHPad = nullptr |
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 289 of file Cloning.h.
References CallSiteEHPad, ConvergenceControlToken, InlinedCalls, InlinedCallSites, and StaticAllocas.
Referenced by llvm::CanInlineCallSite().
BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 265 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl().
BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 265 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl().
Instruction* llvm::InlineFunctionInfo::CallSiteEHPad = nullptr |
Definition at line 283 of file Cloning.h.
Referenced by llvm::CanInlineCallSite(), llvm::InlineFunctionImpl(), and reset().
Value* llvm::InlineFunctionInfo::ConvergenceControlToken = nullptr |
Definition at line 282 of file Cloning.h.
Referenced by llvm::CanInlineCallSite(), llvm::InlineFunctionImpl(), and reset().
function_ref<AssumptionCache &(Function &)> llvm::InlineFunctionInfo::GetAssumptionCache |
If non-null, InlineFunction will update the callgraph to reflect the changes it makes.
Definition at line 263 of file Cloning.h.
Referenced by AddAlignmentAssumptions(), HandleByValArgument(), and llvm::InlineFunctionImpl().
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 280 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), and reset().
ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 264 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl().
SmallVector<AllocaInst *, 4> llvm::InlineFunctionInfo::StaticAllocas |
InlineFunction fills this in with all static allocas that get copied into the caller.
Definition at line 269 of file Cloning.h.
Referenced by HandleByValArgument(), llvm::InlineFunctionImpl(), 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 287 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl().