LLVM API Documentation
#include <CallSite.h>
Public Types | |
typedef IterTy | arg_iterator |
Public Member Functions | |
CallSiteBase () | |
CallSiteBase (CallTy *CI) | |
CallSiteBase (InvokeTy *II) | |
CallSiteBase (ValTy *II) | |
bool | isCall () const |
bool | isInvoke () const |
InstrTy * | getInstruction () const |
InstrTy * | operator-> () const |
LLVM_EXPLICIT | operator bool () const |
ValTy * | getCalledValue () const |
FunTy * | getCalledFunction () const |
void | setCalledFunction (Value *V) |
bool | isCallee (Value::const_user_iterator UI) const |
bool | isCallee (const Use *U) const |
Determine whether this Use is the callee operand's Use. | |
ValTy * | getArgument (unsigned ArgNo) const |
void | setArgument (unsigned ArgNo, Value *newVal) |
unsigned | getArgumentNo (Value::const_user_iterator I) const |
unsigned | getArgumentNo (const Use *U) const |
IterTy | arg_begin () const |
IterTy | arg_end () const |
bool | arg_empty () const |
unsigned | arg_size () const |
Type * | getType () const |
FunTy * | getCaller () const |
bool | isMustTailCall () const |
Tests if this call site must be tail call optimized. Only a CallInst can be tail call optimized. | |
bool | isTailCall () const |
Tests if this call site is marked as a tail call. | |
CallingConv::ID | getCallingConv () const |
void | setCallingConv (CallingConv::ID CC) |
const AttributeSet & | getAttributes () const |
void | setAttributes (const AttributeSet &PAL) |
bool | hasFnAttr (Attribute::AttrKind A) const |
Return true if this function has the given attribute. | |
bool | paramHasAttr (unsigned i, Attribute::AttrKind A) const |
Return true if the call or the callee has the given attribute. | |
uint16_t | getParamAlignment (uint16_t i) const |
Extract the alignment for a call or parameter (0=unknown). | |
uint64_t | getDereferenceableBytes (uint16_t i) const |
Extract the number of dereferenceable bytes for a call or parameter (0=unknown). | |
bool | isNoBuiltin () const |
Return true if the call should not be treated as a call to a builtin. | |
bool | isNoInline () const |
Return true if the call should not be inlined. | |
void | setIsNoInline (bool Value=true) |
bool | doesNotAccessMemory () const |
Determine if the call does not access memory. | |
void | setDoesNotAccessMemory () |
bool | onlyReadsMemory () const |
Determine if the call does not access or only reads memory. | |
void | setOnlyReadsMemory () |
bool | doesNotReturn () const |
Determine if the call cannot return. | |
void | setDoesNotReturn () |
bool | doesNotThrow () const |
Determine if the call cannot unwind. | |
void | setDoesNotThrow () |
bool | doesNotCapture (unsigned ArgNo) const |
Determine whether this argument is not captured. | |
bool | isByValArgument (unsigned ArgNo) const |
Determine whether this argument is passed by value. | |
bool | isInAllocaArgument (unsigned ArgNo) const |
Determine whether this argument is passed in an alloca. | |
bool | isByValOrInAllocaArgument (unsigned ArgNo) const |
Determine whether this argument is passed by value or in an alloca. | |
bool | hasInAllocaArgument () const |
Determine if there are is an inalloca argument. Only the last argument can have the inalloca attribute. | |
bool | doesNotAccessMemory (unsigned ArgNo) const |
bool | onlyReadsMemory (unsigned ArgNo) const |
bool | isReturnNonNull () const |
Return true if the return value is known to be not null. This may be because it has the nonnull attribute, or because at least one byte is dereferenceable and the pointer is in addrspace(0). | |
bool | hasArgument (const Value *Arg) const |
Static Protected Member Functions | |
static CallSiteBase | get (ValTy *V) |
Protected Attributes | |
PointerIntPair< InstrTy *, 1, bool > | I |
Definition at line 46 of file CallSite.h.
typedef IterTy llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_iterator |
arg_iterator - The type of iterator to use when looping over actual arguments at this call site.
Definition at line 141 of file CallSite.h.
llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase | ( | ) | [inline] |
Definition at line 50 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::get().
llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase | ( | CallTy * | CI | ) | [inline] |
Definition at line 51 of file CallSite.h.
llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase | ( | InvokeTy * | II | ) | [inline] |
Definition at line 52 of file CallSite.h.
llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase | ( | ValTy * | II | ) | [inline] |
Definition at line 53 of file CallSite.h.
IterTy llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin | ( | ) | const [inline] |
arg_begin/arg_end - Return iterators corresponding to the actual argument list for a call site.
Definition at line 145 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::arg_empty(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::arg_size(), llvm::AliasAnalysis::callCapturesBefore(), llvm::objcarc::CanAlterRefCount(), determinePointerReadAttrs(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgumentNo(), llvm::objcarc::GetCallSiteClass(), llvm::AliasAnalysis::getModRefInfo(), HandleCallsInBlockInlinedThroughInvoke(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::hasArgument(), llvm::InlineFunction(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::PointerMayBeCaptured(), ReplaceFPIntrinsicWithCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setArgument(), llvm::SimplifyInstruction(), and llvm::Interpreter::visitCallSite().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_empty | ( | ) | const [inline] |
Definition at line 152 of file CallSite.h.
IterTy llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end | ( | ) | const [inline] |
Definition at line 151 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::arg_empty(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::arg_size(), llvm::AliasAnalysis::callCapturesBefore(), llvm::objcarc::CanAlterRefCount(), determinePointerReadAttrs(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgumentNo(), llvm::objcarc::GetCallSiteClass(), llvm::AliasAnalysis::getModRefInfo(), HandleCallsInBlockInlinedThroughInvoke(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::hasArgument(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::PointerMayBeCaptured(), ReplaceFPIntrinsicWithCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setArgument(), llvm::SimplifyInstruction(), and llvm::Interpreter::visitCallSite().
unsigned llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_size | ( | ) | const [inline] |
Definition at line 153 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::hasInAllocaArgument(), llvm::InlineFunction(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), OptimizeAwayTrappingUsesOfValue(), and llvm::Interpreter::visitCallSite().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAccessMemory | ( | ) | const [inline] |
Determine if the call does not access memory.
Definition at line 241 of file CallSite.h.
Referenced by llvm::AliasAnalysis::callCapturesBefore(), determinePointerReadAttrs(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::doesNotAccessMemory().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAccessMemory | ( | unsigned | ArgNo | ) | const [inline] |
Definition at line 302 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotCapture | ( | unsigned | ArgNo | ) | const [inline] |
Determine whether this argument is not captured.
Definition at line 276 of file CallSite.h.
Referenced by llvm::AliasAnalysis::callCapturesBefore(), determinePointerReadAttrs(), and llvm::PointerMayBeCaptured().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn | ( | ) | const [inline] |
Determine if the call cannot return.
Definition at line 257 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::doesNotReturn(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow | ( | ) | const [inline] |
Determine if the call cannot unwind.
Definition at line 265 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::doesNotThrow(), llvm::InlineFunction(), and llvm::PointerMayBeCaptured().
static CallSiteBase llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::get | ( | ValTy * | V | ) | [inline, static, protected] |
CallSiteBase::get - This static method is sort of like a constructor. It will create an appropriate call site for a Call or Invoke instruction, but it can also create a null initialized CallSiteBase object for something which is NOT a call site.
Definition at line 60 of file CallSite.h.
ValTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument | ( | unsigned | ArgNo | ) | const [inline] |
Definition at line 113 of file CallSite.h.
Referenced by AllCallersPassInValidPointerForArgument(), getStoredPointerOperand(), llvm::PatternMatch::Argument_match< Opnd_t >::match(), OptimizeAwayTrappingUsesOfValue(), llvm::TargetLowering::ParseConstraints(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), and llvm::ObjectSizeOffsetEvaluator::visitCallSite().
unsigned llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgumentNo | ( | Value::const_user_iterator | I | ) | const [inline] |
Given a value use iterator, returns the argument that corresponds to it. Iterator must actually correspond to an argument.
Definition at line 126 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgumentNo().
unsigned llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgumentNo | ( | const Use * | U | ) | const [inline] |
Given a use for an argument, get the argument number that corresponds to it.
Definition at line 132 of file CallSite.h.
const AttributeSet& llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getAttributes | ( | ) | const [inline] |
getAttributes/setAttributes - get or set the parameter attributes of the call.
Definition at line 198 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getAttributes(), LLVMAddInstrAttribute(), LLVMRemoveInstrAttribute(), LLVMSetInstrParamAlignment(), and RemoveNestAttribute().
FunTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction | ( | ) | const [inline] |
getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call).
Definition at line 93 of file CallSite.h.
Referenced by AddAliasScopeMetadata(), llvm::CallGraphNode::addCalledFunction(), llvm::CodeMetrics::analyzeBasicBlock(), CloneAliasScopeMetadata(), determinePointerReadAttrs(), getCalledFunction(), llvm::InlineCostAnalysis::getInlineCost(), llvm::Inliner::getInlineThreshold(), llvm::AliasAnalysis::getModRefBehavior(), llvm::LibCallAliasAnalysis::getModRefInfo(), InlineCallIfPossible(), llvm::InlineFunction(), llvm::InlineCostAnalysis::isInlineViable(), llvm::Inliner::runOnSCC(), UpdateCallGraphAfterInlining(), and llvm::Interpreter::visitCallSite().
ValTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue | ( | ) | const [inline] |
getCalledValue - Return the pointer to function that is being called.
Definition at line 85 of file CallSite.h.
Referenced by llvm::CodeMetrics::analyzeBasicBlock(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCalledFunction(), llvm::FastISel::lowerCall(), llvm::FastISel::lowerCallTo(), llvm::SelectionDAGBuilder::LowerCallTo(), OptimizeAwayTrappingUsesOfValue(), llvm::TargetLowering::ParseConstraints(), llvm::FunctionLoweringInfo::set(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::SimplifyInstruction(), and llvm::Interpreter::visitCallSite().
FunTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCaller | ( | ) | const [inline] |
getCaller - Return the caller function for this call site
Definition at line 161 of file CallSite.h.
Referenced by emitAnalysis(), llvm::InlineCostAnalysis::getInlineCost(), llvm::Inliner::getInlineThreshold(), InlineCallIfPossible(), and llvm::Inliner::runOnSCC().
CallingConv::ID llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv | ( | ) | const [inline] |
getCallingConv/setCallingConv - get or set the calling convention of the call.
Definition at line 189 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCallingConv(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
uint64_t llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getDereferenceableBytes | ( | uint16_t | i | ) | const [inline] |
Extract the number of dereferenceable bytes for a call or parameter (0=unknown).
Definition at line 222 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getDereferenceableBytes(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isReturnNonNull().
InstrTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction | ( | ) | const [inline] |
Definition at line 79 of file CallSite.h.
Referenced by llvm::CallGraphNode::addCalledFunction(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::arg_begin(), llvm::AliasAnalysis::callCapturesBefore(), CloneAliasScopeMetadata(), emitAnalysis(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getArgumentNo(), getCalledFunction(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCalledValue(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::NVPTXTargetLowering::getPrototype(), llvm::InlineFunction(), isAssumeIntrinsic(), llvm::InlineCostAnalysis::isInlineViable(), llvm::isInTailCallPosition(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isInvoke(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isMustTailCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isTailCall(), llvm::FastISel::lowerCallTo(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), llvm::CallSite::operator<(), PrintModRefResults(), llvm::CallGraphNode::removeCallEdgeFor(), llvm::CallGraphNode::replaceCallEdge(), llvm::Inliner::runOnSCC(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setCalledFunction(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), UpdateCallGraphAfterInlining(), llvm::Interpreter::visitCallSite(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite(), llvm::ObjectSizeOffsetEvaluator::visitCallSite(), and llvm::PtrUseVisitor< SliceBuilder >::visitCallSite().
uint16_t llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getParamAlignment | ( | uint16_t | i | ) | const [inline] |
Extract the alignment for a call or parameter (0=unknown).
Definition at line 216 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getParamAlignment(), llvm::FastISel::ArgListEntry::setAttributes(), and llvm::TargetLowering::ArgListEntry::setAttributes().
Type* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getType | ( | ) | const [inline] |
getType - Return the type of the instruction that generated this call site
Definition at line 157 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isReturnNonNull(), and llvm::TargetLowering::ParseConstraints().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::hasArgument | ( | const Value * | Arg | ) | const [inline] |
hasArgument - Returns true if this CallSite passes the given Value* as an argument to the called function.
Definition at line 326 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::hasFnAttr | ( | Attribute::AttrKind | A | ) | const [inline] |
Return true if this function has the given attribute.
Definition at line 206 of file CallSite.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), llvm::InlineCostAnalysis::getInlineCost(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::hasFnAttr(), hasNoAliasAttr(), and hasReturnsTwiceAttr().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::hasInAllocaArgument | ( | ) | const [inline] |
Determine if there are is an inalloca argument. Only the last argument can have the inalloca attribute.
Definition at line 298 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValArgument | ( | unsigned | ArgNo | ) | const [inline] |
Determine whether this argument is passed by value.
Definition at line 281 of file CallSite.h.
Referenced by llvm::AliasAnalysis::callCapturesBefore(), and llvm::InlineFunction().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValOrInAllocaArgument | ( | unsigned | ArgNo | ) | const [inline] |
Determine whether this argument is passed by value or in an alloca.
Definition at line 291 of file CallSite.h.
Referenced by isSafeToEliminateVarargsCast().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isCall | ( | ) | const [inline] |
isCall - true if a CallInst is enclosed. Note that !isCall() does not mean it is an InvokeInst enclosed, it also could signify a NULL Instruction pointer.
Definition at line 73 of file CallSite.h.
Referenced by llvm::InlineCostAnalysis::isInlineViable(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isMustTailCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isTailCall(), llvm::PatternMatch::Argument_match< Opnd_t >::match(), and llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isCallee | ( | Value::const_user_iterator | UI | ) | const [inline] |
isCallee - Determine whether the passed iterator points to the callee operand's Use.
Definition at line 106 of file CallSite.h.
Referenced by AddressIsTaken(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isCallee().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isCallee | ( | const Use * | U | ) | const [inline] |
Determine whether this Use is the callee operand's Use.
Definition at line 111 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isInAllocaArgument | ( | unsigned | ArgNo | ) | const [inline] |
Determine whether this argument is passed in an alloca.
Definition at line 286 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isInvoke | ( | ) | const [inline] |
isInvoke - true if a InvokeInst is enclosed.
Definition at line 77 of file CallSite.h.
Referenced by llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isMustTailCall | ( | ) | const [inline] |
Tests if this call site must be tail call optimized. Only a CallInst can be tail call optimized.
Definition at line 165 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isMustTailCall().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isNoBuiltin | ( | ) | const [inline] |
Return true if the call should not be treated as a call to a builtin.
Definition at line 228 of file CallSite.h.
Referenced by getCalledFunction(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isNoBuiltin().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isNoInline | ( | ) | const [inline] |
Return true if the call should not be inlined.
Definition at line 233 of file CallSite.h.
Referenced by llvm::CodeMetrics::analyzeBasicBlock(), llvm::InlineCostAnalysis::getInlineCost(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isNoInline().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isReturnNonNull | ( | ) | const [inline] |
Return true if the return value is known to be not null. This may be because it has the nonnull attribute, or because at least one byte is dereferenceable and the pointer is in addrspace(0).
Definition at line 314 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isTailCall | ( | ) | const [inline] |
Tests if this call site is marked as a tail call.
Definition at line 170 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isTailCall().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory | ( | ) | const [inline] |
Determine if the call does not access or only reads memory.
Definition at line 249 of file CallSite.h.
Referenced by llvm::AliasAnalysis::callCapturesBefore(), determinePointerReadAttrs(), llvm::objcarc::GetCallSiteClass(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::onlyReadsMemory(), and llvm::PointerMayBeCaptured().
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory | ( | unsigned | ArgNo | ) | const [inline] |
Definition at line 306 of file CallSite.h.
LLVM_EXPLICIT llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::operator bool | ( | ) | const [inline] |
Definition at line 81 of file CallSite.h.
InstrTy* llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::operator-> | ( | ) | const [inline] |
Definition at line 80 of file CallSite.h.
bool llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr | ( | unsigned | i, |
Attribute::AttrKind | A | ||
) | const [inline] |
Return true if the call or the callee has the given attribute.
Definition at line 211 of file CallSite.h.
Referenced by computeBytesPoppedByCallee(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::doesNotAccessMemory(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::doesNotCapture(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::hasInAllocaArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isByValArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isByValOrInAllocaArgument(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isInAllocaArgument(), llvm::isNoAliasCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isReturnNonNull(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::onlyReadsMemory(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::paramHasAttr(), llvm::FastISel::ArgListEntry::setAttributes(), llvm::TargetLowering::ArgListEntry::setAttributes(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setArgument | ( | unsigned | ArgNo, |
Value * | newVal | ||
) | [inline] |
Definition at line 118 of file CallSite.h.
Referenced by OptimizeAwayTrappingUsesOfValue().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setAttributes | ( | const AttributeSet & | PAL | ) | [inline] |
Definition at line 201 of file CallSite.h.
Referenced by LLVMAddInstrAttribute(), LLVMRemoveInstrAttribute(), LLVMSetInstrParamAlignment(), RemoveNestAttribute(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setAttributes().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setCalledFunction | ( | Value * | V | ) | [inline] |
setCalledFunction - Set the callee to the specified value.
Definition at line 99 of file CallSite.h.
Referenced by OptimizeAwayTrappingUsesOfValue().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setCallingConv | ( | CallingConv::ID | CC | ) | [inline] |
Definition at line 192 of file CallSite.h.
Referenced by ChangeCalleesToFastCall(), and llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setCallingConv().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotAccessMemory | ( | ) | [inline] |
Definition at line 244 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setDoesNotAccessMemory().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotReturn | ( | ) | [inline] |
Definition at line 260 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setDoesNotReturn().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotThrow | ( | ) | [inline] |
Definition at line 268 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setDoesNotThrow().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setIsNoInline | ( | bool | Value = true | ) | [inline] |
Definition at line 236 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setIsNoInline().
void llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::setOnlyReadsMemory | ( | ) | [inline] |
Definition at line 252 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::setOnlyReadsMemory().
PointerIntPair<InstrTy*, 1, bool> llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::I [protected] |
Definition at line 48 of file CallSite.h.
Referenced by llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getInstruction(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isCall(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isInvoke(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::operator bool(), llvm::CallSite::operator!=(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::operator->(), and llvm::CallSite::operator==().