LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Inliner.cpp File Reference

#include "Inliner.h"
#include "llvm/Module.h"
#include "llvm/Instructions.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include <set>

Include dependency graph for Inliner.cpp:

Go to the source code of this file.

Functions

static bool InlineCallIfPossible (CallSite CS, CallGraph &CG, const std::set< Function * > &SCCFunctions)


Function Documentation

static bool InlineCallIfPossible CallSite  CS,
CallGraph CG,
const std::set< Function * > &  SCCFunctions
[static]
 

Definition at line 40 of file Inliner.cpp.

References llvm::CallGraphNode::addCalledFunction(), llvm::CallGraphNode::begin(), DEBUG, E, llvm::CallGraphNode::end(), llvm::CallSite::getCalledFunction(), llvm::CallSite::getInstruction(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::GlobalValue::hasInternalLinkage(), I, llvm::InlineFunction(), NumDeleted, llvm::CallGraphNode::removeCallEdgeTo(), llvm::CallGraph::removeFunctionFromModule(), and llvm::Value::use_empty().

Referenced by llvm::Inliner::runOnSCC().


Variable Documentation

cl::opt<unsigned> InlineLimit("inline-threshold", cl::Hidden, cl::init(200), cl::desc("Control the amount of inlining to perform (default = 200)")) [static]
 

Statistic NumDeleted("inline","Number of functions deleted because all callers found") [static]
 

Statistic NumInlined("inline","Number of functions inlined") [static]
 

Referenced by llvm::Inliner::runOnSCC().