LLVM 24.0.0git
Inliner.cpp File Reference
#include "llvm/Transforms/IPO/Inliner.h"
#include "IPOOptions.h"
#include "llvm/ADT/PriorityWorklist.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/BasicAliasAnalysis.h"
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/CGSCCPassManager.h"
#include "llvm/Analysis/EphemeralValuesCache.h"
#include "llvm/Analysis/InlineAdvisor.h"
#include "llvm/Analysis/InlineCost.h"
#include "llvm/Analysis/LazyCallGraph.h"
#include "llvm/Analysis/Loads.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/ProfileSummaryInfo.h"
#include "llvm/Analysis/ReplayInlineAdvisor.h"
#include "llvm/Analysis/Utils/ImportedFunctionsInliningStatistics.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Value.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/CallPromotionUtils.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
#include <algorithm>
#include <cassert>
#include <utility>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "inline"

Functions

 STATISTIC (NumInlined, "Number of functions inlined")
 STATISTIC (NumDeleted, "Number of functions deleted because all callers found")
void makeFunctionBodyUnreachable (Function &F)

Variables

static cl::opt< bool > EnablePostSCCAdvisorPrinting ("enable-scc-inline-advisor-printing", cl::init(false), cl::Hidden)
 Allows printing the contents of the advisor after each SCC inliner pass.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "inline"

Definition at line 68 of file Inliner.cpp.

Function Documentation

◆ makeFunctionBodyUnreachable()

void makeFunctionBodyUnreachable ( Function & F)

Definition at line 117 of file Inliner.cpp.

References llvm::BasicBlock::Create(), F, and llvm::make_early_inc_range().

Referenced by llvm::InlinerPass::run().

◆ STATISTIC() [1/2]

STATISTIC ( NumDeleted ,
"Number of functions deleted because all callers found"  )

◆ STATISTIC() [2/2]

STATISTIC ( NumInlined ,
"Number of functions inlined"  )

Variable Documentation

◆ EnablePostSCCAdvisorPrinting

cl::opt< bool > EnablePostSCCAdvisorPrinting("enable-scc-inline-advisor-printing", cl::init(false), cl::Hidden) ( "enable-scc-inline-advisor-printing" ,
cl::init(false) ,
cl::Hidden  )
static

Allows printing the contents of the advisor after each SCC inliner pass.

Referenced by llvm::ModuleInlinerWrapperPass::ModuleInlinerWrapperPass().