|
LLVM 23.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< 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 |
Definition at line 254 of file Cloning.h.
References CalleeBFI, CallerBFI, GetAssumptionCache, PSI, and UpdateProfile.
|
inline |
Definition at line 284 of file Cloning.h.
References CallSiteEHPad, ConvergenceControlToken, InlinedCallSites, and StaticAllocas.
Referenced by llvm::CanInlineCallSite().
| BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI |
Definition at line 266 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().
| BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI |
Definition at line 266 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().
| Instruction* llvm::InlineFunctionInfo::CallSiteEHPad = nullptr |
Definition at line 278 of file Cloning.h.
Referenced by llvm::CanInlineCallSite(), llvm::InlineFunctionImpl(), and reset().
| Value* llvm::InlineFunctionInfo::ConvergenceControlToken = nullptr |
Definition at line 277 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 264 of file Cloning.h.
Referenced by AddAlignmentAssumptions(), HandleByValArgument(), llvm::InlineFunctionImpl(), and InlineFunctionInfo().
| 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.
Definition at line 275 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), reset(), llvm::InlinerPass::run(), and llvm::ModuleInlinerPass::run().
| ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI |
Definition at line 265 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().
| SmallVector<AllocaInst *, 4> llvm::InlineFunctionInfo::StaticAllocas |
InlineFunction fills this in with all static allocas that get copied into the caller.
Definition at line 270 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 282 of file Cloning.h.
Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().