LLVM  12.0.0git
Classes | Namespaces | Enumerations | Functions
InlineAdvisor.h File Reference
#include <memory>
#include <unordered_set>
#include <vector>
#include "llvm/Analysis/InlineCost.h"
#include "llvm/IR/PassManager.h"
Include dependency graph for InlineAdvisor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::InlineAdvice
 Capture state between an inlining decision having had been made, and its impact being observable. More...
 
class  llvm::InlineAdvisor
 Interface for deciding whether to inline a call site or not. More...
 
class  llvm::DefaultInlineAdvisor
 The default (manual heuristics) implementation of the InlineAdvisor. More...
 
class  llvm::InlineAdvisorAnalysis
 The InlineAdvisorAnalysis is a module pass because the InlineAdvisor needs to capture state right before inlining commences over a module. More...
 
struct  llvm::InlineAdvisorAnalysis::Result
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Enumerations

enum  llvm::InliningAdvisorMode : int { llvm::InliningAdvisorMode::Default, llvm::InliningAdvisorMode::Release, llvm::InliningAdvisorMode::Development }
 There are 3 scenarios we can use the InlineAdvisor: More...
 

Functions

Optional< InlineCostllvm::shouldInline (CallBase &CB, function_ref< InlineCost(CallBase &CB)> GetInlineCost, OptimizationRemarkEmitter &ORE, bool EnableDeferral=true)
 Return the cost only if the inliner should attempt to inline at the given CallSite. More...
 
void llvm::emitInlinedInto (OptimizationRemarkEmitter &ORE, DebugLoc DLoc, const BasicBlock *Block, const Function &Callee, const Function &Caller, const InlineCost &IC, bool ForProfileContext=false, const char *PassName=nullptr)
 Emit ORE message. More...
 
void llvm::addLocationToRemarks (OptimizationRemark &Remark, DebugLoc DLoc)
 Add location info to ORE message. More...
 
void llvm::setInlineRemark (CallBase &CB, StringRef Message)
 Set the inline-remark attribute. More...
 
std::string llvm::inlineCostStr (const InlineCost &IC)
 Utility for extracting the inline cost message to a string. More...