LLVM 24.0.0git
llvm::DefaultInlineAdvice Class Reference

#include "llvm/Analysis/InlineAdvisor.h"

Inheritance diagram for llvm::DefaultInlineAdvice:
[legend]

Public Member Functions

 DefaultInlineAdvice (InlineAdvisor *Advisor, CallBase &CB, std::optional< InlineCost > OIC, OptimizationRemarkEmitter &ORE, bool EmitRemarks=true)
Public Member Functions inherited from llvm::InlineAdvice
LLVM_ABI InlineAdvice (InlineAdvisor *Advisor, CallBase &CB, OptimizationRemarkEmitter &ORE, bool IsInliningRecommended)
 InlineAdvice (InlineAdvice &&)=delete
 InlineAdvice (const InlineAdvice &)=delete
virtual ~InlineAdvice ()
LLVM_ABI void recordInlining ()
 Exactly one of the record* APIs must be called.
LLVM_ABI void recordInliningWithCalleeDeleted ()
 Call after inlining succeeded, and results in the callee being delete-able, meaning, it has no more users, and will be cleaned up subsequently.
void recordUnsuccessfulInlining (const InlineResult &Result)
 Call after the decision for a call site was to not inline.
void recordUnattemptedInlining ()
 Call to indicate inlining was not attempted.
bool isInliningRecommended () const
 Get the inlining recommendation.
const DebugLoc & getOriginalCallSiteDebugLoc () const
const BasicBlock * getOriginalCallSiteBasicBlock () const

Additional Inherited Members

Protected Member Functions inherited from llvm::InlineAdvice
virtual void recordUnattemptedInliningImpl ()
Protected Attributes inherited from llvm::InlineAdvice
InlineAdvisor *const Advisor
Function *const Caller
 Caller and Callee are pre-inlining.
Function *const Callee
const DebugLoc DLoc
const BasicBlock *const Block
OptimizationRemarkEmitter & ORE
const bool IsInliningRecommended

Detailed Description

Definition at line 145 of file InlineAdvisor.h.

Constructor & Destructor Documentation

◆ DefaultInlineAdvice()

llvm::DefaultInlineAdvice::DefaultInlineAdvice ( InlineAdvisor * Advisor,
CallBase & CB,
std::optional< InlineCost > OIC,
OptimizationRemarkEmitter & ORE,
bool EmitRemarks = true )
inline

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