LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
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"

Collaboration diagram for llvm::InlineFunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 InlineFunctionInfo (CallGraph *cg=nullptr, std::function< AssumptionCache &(Function &)> *GetAssumptionCache=nullptr, ProfileSummaryInfo *PSI=nullptr, BlockFrequencyInfo *CallerBFI=nullptr, BlockFrequencyInfo *CalleeBFI=nullptr)
 
void reset ()
 

Public Attributes

CallGraphCG
 If non-null, InlineFunction will update the callgraph to reflect the changes it makes. More...
 
std::function< AssumptionCache &(Function &)> * GetAssumptionCache
 
ProfileSummaryInfoPSI
 
BlockFrequencyInfoCallerBFI
 
BlockFrequencyInfoCalleeBFI
 
SmallVector< AllocaInst *, 4 > StaticAllocas
 InlineFunction fills this in with all static allocas that get copied into the caller. More...
 
SmallVector< WeakTrackingVH, 8 > InlinedCalls
 InlineFunction fills this in with callsites that were inlined from the callee. More...
 
SmallVector< CallSite, 8 > InlinedCallSites
 All of the new call sites inlined into the caller. More...
 

Detailed Description

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

Definition at line 174 of file Cloning.h.

Constructor & Destructor Documentation

◆ InlineFunctionInfo()

llvm::InlineFunctionInfo::InlineFunctionInfo ( CallGraph cg = nullptr,
std::function< AssumptionCache &(Function &)> *  GetAssumptionCache = nullptr,
ProfileSummaryInfo PSI = nullptr,
BlockFrequencyInfo CallerBFI = nullptr,
BlockFrequencyInfo CalleeBFI = nullptr 
)
inlineexplicit

Definition at line 176 of file Cloning.h.

Member Function Documentation

◆ reset()

void llvm::InlineFunctionInfo::reset ( )
inline

Member Data Documentation

◆ CalleeBFI

BlockFrequencyInfo * llvm::InlineFunctionInfo::CalleeBFI

Definition at line 190 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ CallerBFI

BlockFrequencyInfo* llvm::InlineFunctionInfo::CallerBFI

Definition at line 190 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ CG

CallGraph* llvm::InlineFunctionInfo::CG

If non-null, InlineFunction will update the callgraph to reflect the changes it makes.

Definition at line 187 of file Cloning.h.

Referenced by llvm::InlineFunction(), and UpdateCallGraphAfterInlining().

◆ GetAssumptionCache

std::function<AssumptionCache &(Function &)>* llvm::InlineFunctionInfo::GetAssumptionCache

Definition at line 188 of file Cloning.h.

Referenced by AddAlignmentAssumptions(), HandleByValArgument(), and llvm::InlineFunction().

◆ InlinedCalls

SmallVector<WeakTrackingVH, 8> llvm::InlineFunctionInfo::InlinedCalls

InlineFunction fills this in with callsites that were inlined from the callee.

This is only filled in if CG is non-null.

Definition at line 198 of file Cloning.h.

Referenced by UpdateCallGraphAfterInlining().

◆ InlinedCallSites

SmallVector<CallSite, 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 205 of file Cloning.h.

Referenced by llvm::InlineFunction(), and llvm::InlinerPass::run().

◆ PSI

ProfileSummaryInfo* llvm::InlineFunctionInfo::PSI

Definition at line 189 of file Cloning.h.

Referenced by llvm::InlineFunction().

◆ StaticAllocas

SmallVector<AllocaInst *, 4> llvm::InlineFunctionInfo::StaticAllocas

InlineFunction fills this in with all static allocas that get copied into the caller.

Definition at line 194 of file Cloning.h.

Referenced by HandleByValArgument(), llvm::InlineFunction(), and mergeInlinedArrayAllocas().


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