LLVM API Documentation

llvm::BasicInlinerImpl Struct Reference

Collaboration diagram for llvm::BasicInlinerImpl:
[legend]

List of all members.

Public Member Functions

 BasicInlinerImpl (const BasicInlinerImpl &)
void operator= (const BasicInlinerImpl &)
 BasicInlinerImpl (TargetData *T)
void addFunction (Function *F)
void neverInlineFunction (Function *F)
void inlineFunctions ()


Detailed Description

BasicInlinerImpl - BasicInliner implemantation class. This hides container info, used by basic inliner, from public interface.

Definition at line 37 of file BasicInliner.cpp.


Constructor & Destructor Documentation

llvm::BasicInlinerImpl::BasicInlinerImpl ( const BasicInlinerImpl &   ) 

llvm::BasicInlinerImpl::BasicInlinerImpl ( TargetData *  T  )  [inline]

Definition at line 42 of file BasicInliner.cpp.


Member Function Documentation

void llvm::BasicInlinerImpl::operator= ( const BasicInlinerImpl &   ) 

void llvm::BasicInlinerImpl::addFunction ( Function *  F  )  [inline]

addFunction - Add function into the list of functions to process. All functions must be inserted using this interface before invoking inlineFunctions().

Definition at line 47 of file BasicInliner.cpp.

References Functions.

Referenced by llvm::BasicInliner::addFunction().

void llvm::BasicInlinerImpl::neverInlineFunction ( Function *  F  )  [inline]

neverInlineFunction - Sometimes a function is never to be inlined because of one or other reason.

Definition at line 53 of file BasicInliner.cpp.

References NeverInline.

Referenced by llvm::BasicInliner::neverInlineFunction().

void llvm::BasicInlinerImpl::inlineFunctions (  ) 

inlineFuctions - Walk all call sites in all functions supplied by client. Inline as many call sites as possible. Delete completely inlined functions.

inlineFuctions - Walk all call sites in all functions supplied by client. Inline as many call sites as possible. Delete completely inlined functions.

Definition at line 73 of file BasicInliner.cpp.

References BasicInlineThreshold, BB, llvm::MachineBasicBlock::begin(), llvm::Function::begin(), Changed, DOUT, E, llvm::MachineBasicBlock::end(), llvm::Function::end(), F, FI, llvm::CallSite::get(), llvm::CallSite::getCalledFunction(), llvm::Module::getFunctionList(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::CallSite::getInstruction(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getParent(), llvm::Instruction::getParent(), llvm::InlineCost::getValue(), IC, index, llvm::InlineFunction(), llvm::InlineCost::isAlways(), llvm::Function::isDeclaration(), llvm::InlineCost::isNever(), and M.

Referenced by llvm::BasicInliner::inlineFunctions().


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