LLVM 23.0.0git
llvm::InlineFunctionInfo Class Reference

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.
ProfileSummaryInfoPSI
BlockFrequencyInfoCallerBFI
BlockFrequencyInfoCalleeBFI
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.
ValueConvergenceControlToken = nullptr
InstructionCallSiteEHPad = nullptr
bool UpdateProfile
 Update profile for callee as well as cloned version.

Detailed Description

This class captures the data input to the InlineFunction call, and records the auxiliary results produced by it.

Definition at line 252 of file Cloning.h.

Constructor & Destructor Documentation

◆ InlineFunctionInfo()

llvm::InlineFunctionInfo::InlineFunctionInfo ( function_ref< AssumptionCache &(Function &)> GetAssumptionCache = nullptr,
ProfileSummaryInfo * PSI = nullptr,
BlockFrequencyInfo * CallerBFI = nullptr,
BlockFrequencyInfo * CalleeBFI = nullptr,
bool UpdateProfile = true )
inlineexplicit

Definition at line 254 of file Cloning.h.

References CalleeBFI, CallerBFI, GetAssumptionCache, PSI, and UpdateProfile.

Member Function Documentation

◆ reset()

void llvm::InlineFunctionInfo::reset ( )
inline

Definition at line 284 of file Cloning.h.

References CallSiteEHPad, ConvergenceControlToken, InlinedCallSites, and StaticAllocas.

Referenced by llvm::CanInlineCallSite().

Member Data Documentation

◆ CalleeBFI

BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI

Definition at line 266 of file Cloning.h.

Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().

◆ CallerBFI

BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI

Definition at line 266 of file Cloning.h.

Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().

◆ CallSiteEHPad

Instruction* llvm::InlineFunctionInfo::CallSiteEHPad = nullptr

Definition at line 278 of file Cloning.h.

Referenced by llvm::CanInlineCallSite(), llvm::InlineFunctionImpl(), and reset().

◆ ConvergenceControlToken

Value* llvm::InlineFunctionInfo::ConvergenceControlToken = nullptr

Definition at line 277 of file Cloning.h.

Referenced by llvm::CanInlineCallSite(), llvm::InlineFunctionImpl(), and reset().

◆ GetAssumptionCache

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().

◆ InlinedCallSites

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().

◆ PSI

ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI

Definition at line 265 of file Cloning.h.

Referenced by llvm::InlineFunctionImpl(), and InlineFunctionInfo().

◆ StaticAllocas

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().

◆ UpdateProfile

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().


The documentation for this class was generated from the following file: