class InlineFunctionInfo

Declaration

class InlineFunctionInfo { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/Transforms/Utils/Cloning.h:199

Member Variables

public llvm::CallGraph* CG
If non-null, InlineFunction will update the callgraph to reflect the changes it makes.
public function_ref<llvm::AssumptionCache&( llvm::Function&)> GetAssumptionCache
public llvm::ProfileSummaryInfo* PSI
public llvm::BlockFrequencyInfo* CallerBFI
public llvm::BlockFrequencyInfo* CalleeBFI
public SmallVector<llvm::AllocaInst*, 4> StaticAllocas
InlineFunction fills this in with all static allocas that get copied into the caller.
public SmallVector<llvm::WeakTrackingVH, 8> InlinedCalls
InlineFunction fills this in with callsites that were inlined from the callee. This is only filled in if CG is non-null.
public SmallVector<llvm::CallBase*, 8> InlinedCallSites
'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.
public bool 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.

Method Overview

  • public InlineFunctionInfo(llvm::CallGraph * cg = nullptr, function_ref<llvm::AssumptionCache &(llvm::Function &)> GetAssumptionCache = nullptr, llvm::ProfileSummaryInfo * PSI = nullptr, llvm::BlockFrequencyInfo * CallerBFI = nullptr, llvm::BlockFrequencyInfo * CalleeBFI = nullptr, bool UpdateProfile = true)
  • public void reset()

Methods

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

Declared at: llvm/include/llvm/Transforms/Utils/Cloning.h:201

Parameters

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

void reset()

Declared at: llvm/include/llvm/Transforms/Utils/Cloning.h:237