28 unsigned NumInstsBeforeThisBB =
NumInsts;
32 if (isa<CallInst>(II) || isa<InvokeInst>(II)) {
39 if (!CS.
isNoInline() &&
F->hasInternalLinkage() &&
F->hasOneUse())
59 if (
const AllocaInst *AI = dyn_cast<AllocaInst>(II)) {
60 if (!AI->isStaticAlloca())
64 if (isa<ExtractElementInst>(II) || II->getType()->isVectorTy())
67 if (
const CallInst *CI = dyn_cast<CallInst>(II))
71 if (
const InvokeInst *InvI = dyn_cast<InvokeInst>(II))
bool isRecursive
True if this function calls itself.
unsigned NumVectorInsts
How many instructions produce vector values.
unsigned NumCalls
Keep track of the number of calls to 'big' functions.
const Function * getParent() const
Return the enclosing method, or null if none.
unsigned NumInlineCandidates
The number of calls to internal functions with a single caller.
bool notDuplicatable
True if this function cannot be duplicated.
unsigned NumBlocks
Number of analyzed blocks.
void analyzeBasicBlock(const BasicBlock *BB, const TargetTransformInfo &TTI)
Add information about a block to the current state.
bool usesDynamicAlloca
True if this function calls alloca (in the C sense).
ValTy * getCalledValue() const
LLVM Basic Block Representation.
Call cannot be duplicated.
DenseMap< const BasicBlock *, unsigned > NumBBInsts
Keeps track of basic block code size estimates.
ImmutableCallSite - establish a view to a call site for examination.
TerminatorInst * getTerminator()
Returns the terminator instruction if the block is well formed or null if the block is not well forme...
unsigned NumRets
How many 'ret' instructions the blocks contain.
bool isNoInline() const
Return true if the call should not be inlined.
unsigned NumInsts
Number of instructions in the analyzed blocks.
FunTy * getCalledFunction() const