LLVM  mainline
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy > Class Template Reference

#include <CallSite.h>

Inheritance diagram for llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >:
Inheritance graph
[legend]
Collaboration diagram for llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef IterTy arg_iterator
 arg_iterator - The type of iterator to use when looping over actual arguments at this call site.
typedef IterTy data_operand_iterator
 Type of iterator to use when looping over data operands at this call site (see below).

Public Member Functions

bool isCall () const
 isCall - true if a CallInst is enclosed.
bool isInvoke () const
 isInvoke - true if a InvokeInst is enclosed.
InstrTy * getInstruction () const
InstrTy * operator-> () const
 operator bool () const
BBTy * getParent () const
 Get the basic block containing the call site.
ValTy * getCalledValue () const
 getCalledValue - Return the pointer to function that is being called.
FunTy * getCalledFunction () const
 getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call).
void setCalledFunction (Value *V)
 setCalledFunction - Set the callee to the specified value.
bool isCallee (Value::const_user_iterator UI) const
 isCallee - Determine whether the passed iterator points to the callee operand's Use.
bool isCallee (const Use *U) const
 Determine whether this Use is the callee operand's Use.
bool isArgOperand (Value::const_user_iterator UI) const
 Determine whether the passed iterator points to an argument operand.
bool isArgOperand (const Use *U) const
 Determine whether the passed use points to an argument operand.
bool isBundleOperand (Value::const_user_iterator UI) const
 Determine whether the passed iterator points to a bundle operand.
bool isBundleOperand (const Use *U) const
 Determine whether the passed use points to a bundle operand.
bool isDataOperand (Value::const_user_iterator UI) const
 Determine whether the passed iterator points to a data operand.
bool isDataOperand (const Use *U) const
 Determine whether the passed use points to a data operand.
ValTy * getArgument (unsigned ArgNo) const
void setArgument (unsigned ArgNo, Value *newVal)
unsigned getArgumentNo (Value::const_user_iterator I) const
 Given a value use iterator, returns the argument that corresponds to it.
unsigned getArgumentNo (const Use *U) const
 Given a use for an argument, get the argument number that corresponds to it.
iterator_range< IterTy > args () const
bool arg_empty () const
unsigned arg_size () const
unsigned getDataOperandNo (Value::const_user_iterator UI) const
 Given a value use iterator, returns the data operand that corresponds to it.
unsigned getDataOperandNo (const Use *U) const
 Given a use for a data operand, get the data operand number that corresponds to it.
IterTy data_operands_begin () const
 data_operands_begin/data_operands_end - Return iterators iterating over the call / invoke argument list and bundle operands.
IterTy data_operands_end () const
iterator_range< IterTy > data_ops () const
bool data_operands_empty () const
unsigned data_operands_size () const
TypegetType () const
 getType - Return the type of the instruction that generated this call site
FunTy * getCaller () const
 getCaller - Return the caller function for this call site
bool isMustTailCall () const
 Tests if this call site must be tail call optimized.
bool isTailCall () const
 Tests if this call site is marked as a tail call.
unsigned getNumArgOperands () const
ValTy * getArgOperand (unsigned i) const
bool isInlineAsm () const
CallingConv::ID getCallingConv () const
 getCallingConv/setCallingConv - get or set the calling convention of the call.
void setCallingConv (CallingConv::ID CC)
FunctionTypegetFunctionType () const
void mutateFunctionType (FunctionType *Ty) const
const AttributeSetgetAttributes () const
 getAttributes/setAttributes - get or set the parameter attributes of the call.
void setAttributes (const AttributeSet &PAL)
bool hasFnAttr (Attribute::AttrKind A) const
 Return true if this function has the given attribute.
bool hasFnAttr (StringRef 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.
bool dataOperandHasImpliedAttr (unsigned i, Attribute::AttrKind A) const
 Return true if the data operand at index i directly or indirectly has the attribute A.
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).
uint64_t getDereferenceableOrNullBytes (uint16_t i) const
 Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown).
bool doesNotAlias (unsigned n) const
 Determine if the parameter or return value is marked with NoAlias attribute.
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 onlyAccessesArgMemory () const
 Determine if the call can access memmory only using pointers based on its arguments.
void setOnlyAccessesArgMemory ()
bool doesNotReturn () const
 Determine if the call cannot return.
void setDoesNotReturn ()
bool doesNotThrow () const
 Determine if the call cannot unwind.
void setDoesNotThrow ()
unsigned getNumOperandBundles () const
bool hasOperandBundles () const
unsigned getBundleOperandsStartIndex () const
unsigned getBundleOperandsEndIndex () const
unsigned getNumTotalBundleOperands () const
OperandBundleUse getOperandBundleAt (unsigned Index) const
Optional< OperandBundleUsegetOperandBundle (StringRef Name) const
Optional< OperandBundleUsegetOperandBundle (uint32_t ID) const
IterTy arg_begin () const
IterTy arg_end () const
void getOperandBundlesAsDefs (SmallVectorImpl< OperandBundleDef > &Defs) const
bool doesNotCapture (unsigned OpNo) const
 Determine whether this data operand 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.
bool doesNotAccessMemory (unsigned OpNo) const
bool onlyReadsMemory (unsigned OpNo) const
bool isReturnNonNull () const
 Return true if the return value is known to be not null.
bool hasArgument (const Value *Arg) const
 hasArgument - Returns true if this CallSite passes the given Value* as an argument to the called function.

Protected Member Functions

 CallSiteBase ()
 CallSiteBase (CallTy *CI)
 CallSiteBase (InvokeTy *II)
 CallSiteBase (ValTy *II)

Protected Attributes

PointerIntPair< InstrTy
*, 1, bool
I

Detailed Description

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
class llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >

Definition at line 49 of file CallSite.h.


Member Typedef Documentation

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
typedef IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 185 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
typedef IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operand_iterator

Type of iterator to use when looping over data operands at this call site (see below).

Definition at line 210 of file CallSite.h.


Constructor & Destructor Documentation

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase ( ) [inline, protected]

Definition at line 53 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase ( CallTy *  CI) [inline, protected]

Definition at line 54 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase ( InvokeTy *  II) [inline, protected]

Definition at line 55 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::CallSiteBase ( ValTy *  II) [inline, explicit, protected]

Definition at line 56 of file CallSite.h.


Member Function Documentation

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_empty ( ) const [inline]

Definition at line 190 of file CallSite.h.

Referenced by computeBytesPoppedByCallee().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_size ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
iterator_range<IterTy> llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::args ( ) const [inline]

Definition at line 187 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operands_begin ( ) const [inline]

data_operands_begin/data_operands_end - Return iterators iterating over the call / invoke argument list and bundle operands.

For invokes, this is the set of instruction operands except the invoke target and the two successor blocks; and for calls this is the set of instruction operands except the call target.

Definition at line 218 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::data_operands_empty(), llvm::CallSiteBase<>::data_operands_size(), llvm::CallSiteBase<>::data_ops(), llvm::CallSiteBase<>::getDataOperandNo(), llvm::BasicAAResult::getModRefInfo(), llvm::CallSiteBase<>::isDataOperand(), and llvm::PointerMayBeCaptured().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operands_empty ( ) const [inline]

Definition at line 229 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operands_end ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operands_size ( ) const [inline]

Definition at line 232 of file CallSite.h.

Referenced by determinePointerReadAttrs().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
iterator_range<IterTy> llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_ops ( ) const [inline]

Definition at line 226 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::dataOperandHasImpliedAttr ( unsigned  i,
Attribute::AttrKind  A 
) const [inline]

Return true if the data operand at index i directly or indirectly has the attribute A.

Normal call or invoke arguments have per operand attributes, as specified in the attribute set attached to this instruction, while operand bundle operands may have some attributes implied by the type of its containing operand bundle.

Definition at line 330 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::dataOperandHasImpliedAttr(), llvm::CallSiteBase<>::doesNotAccessMemory(), llvm::CallSiteBase<>::doesNotCapture(), and llvm::CallSiteBase<>::onlyReadsMemory().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAccessMemory ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAccessMemory ( unsigned  OpNo) const [inline]

Definition at line 493 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotAlias ( unsigned  n) const [inline]

Determine if the parameter or return value is marked with NoAlias attribute.

Parameters:
nThe parameter to check. 1 is the first parameter, 0 is the return

Definition at line 354 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::doesNotAlias().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotCapture ( unsigned  OpNo) const [inline]

Determine whether this data operand is not captured.

Definition at line 467 of file CallSite.h.

Referenced by llvm::AAResults::callCapturesBefore(), determinePointerReadAttrs(), llvm::BasicAAResult::getModRefInfo(), and llvm::PointerMayBeCaptured().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow ( ) const [inline]

Determine if the call cannot unwind.

Definition at line 406 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::doesNotThrow(), llvm::InlineFunction(), and llvm::PointerMayBeCaptured().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
ValTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgOperand ( unsigned  i) const [inline]

Definition at line 272 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getArgOperand().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
ValTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getArgument ( unsigned  ArgNo) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 171 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getArgumentNo().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 177 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
const AttributeSet& llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getAttributes ( ) const [inline]

getAttributes/setAttributes - get or set the parameter attributes of the call.

Definition at line 301 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getAttributes(), LLVMAddInstrAttribute(), LLVMRemoveInstrAttribute(), LLVMSetInstrParamAlignment(), makeStatepointExplicitImpl(), RemoveNestAttribute(), and ReplaceWithStatepoint().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getBundleOperandsEndIndex ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getBundleOperandsStartIndex ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
FunTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
ValTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
FunTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCaller ( ) const [inline]

getCaller - Return the caller function for this call site

Definition at line 242 of file CallSite.h.

Referenced by AddAlignmentAssumptions(), emitAnalysis(), llvm::getInlineCost(), InlineCallIfPossible(), and llvm::Inliner::runOnSCC().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
CallingConv::ID llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv ( ) const [inline]

getCallingConv/setCallingConv - get or set the calling convention of the call.

Definition at line 284 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getCallingConv(), llvm::SelectionDAGBuilder::lowerCallOperands(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getDataOperandNo ( Value::const_user_iterator  UI) const [inline]

Given a value use iterator, returns the data operand that corresponds to it.

Iterator must actually correspond to a data operand.

Definition at line 196 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getDataOperandNo().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getDataOperandNo ( const Use U) const [inline]

Given a use for a data operand, get the data operand number that corresponds to it.

Definition at line 202 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
uint64_t llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 341 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getDereferenceableBytes(), and llvm::CallSiteBase<>::isReturnNonNull().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
uint64_t llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getDereferenceableOrNullBytes ( uint16_t  i) const [inline]

Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown).

Definition at line 347 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getDereferenceableOrNullBytes().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
FunctionType* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getFunctionType ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
InstrTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction ( ) const [inline]

Definition at line 84 of file CallSite.h.

Referenced by AddAlignmentAssumptions(), llvm::CallGraphNode::addCalledFunction(), analyzeParsePointLiveness(), llvm::AAResults::callCapturesBefore(), llvm::callsGCLeafFunction(), CloneAliasScopeMetadata(), llvm::CallSiteBase<>::data_operands_begin(), llvm::CallSiteBase<>::data_operands_end(), doesNotRequireEntrySafepointBefore(), emitAnalysis(), llvm::CallSiteBase<>::getArgumentNo(), getCalledFunction(), llvm::CallSiteBase<>::getCalledValue(), llvm::CallSiteBase<>::getDataOperandNo(), llvm::MemoryLocation::getForArgument(), llvm::TypeBasedAAResult::getModRefBehavior(), llvm::ScopedNoAliasAAResult::getModRefInfo(), llvm::TypeBasedAAResult::getModRefInfo(), llvm::objcarc::ObjCARCAAResult::getModRefInfo(), llvm::BasicAAResult::getModRefInfo(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::CallSiteBase<>::getOperandBundlesAsDefs(), llvm::CallSiteBase<>::getParent(), llvm::NVPTXTargetLowering::getPrototype(), llvm::InlineFunction(), insertUseHolderAfter(), llvm::CallSiteBase<>::isArgOperand(), isAssumeIntrinsic(), llvm::CallSiteBase<>::isBundleOperand(), llvm::isGCRelocate(), llvm::isGCResult(), llvm::CallSiteBase<>::isInlineAsm(), llvm::isInlineViable(), llvm::isInTailCallPosition(), llvm::CallSiteBase<>::isInvoke(), llvm::CallSiteBase<>::isMustTailCall(), llvm::isStatepoint(), llvm::CallSiteBase<>::isTailCall(), isWriteOnlyParam(), llvm::FastISel::lowerCallTo(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), lowerStatepointMetaArgs(), makeStatepointExplicitImpl(), needsStatepoint(), llvm::CallSite::operator<(), PrintModRefResults(), recomputeLiveInValues(), rematerializeLiveValues(), llvm::CallGraphNode::removeCallEdgeFor(), llvm::CallGraphNode::replaceCallEdge(), ReplaceWithStatepoint(), llvm::Inliner::runOnSCC(), llvm::CallSiteBase<>::setArgument(), llvm::CallSiteBase<>::setCalledFunction(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), UpdateCallGraphAfterInlining(), llvm::Interpreter::visitCallSite(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), llvm::ObjectSizeOffsetEvaluator::visitCallSite(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite(), llvm::PtrUseVisitor< SliceBuilder >::visitCallSite(), and WriteOperandBundles().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getNumArgOperands ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getNumOperandBundles ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
unsigned llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getNumTotalBundleOperands ( ) const [inline]

Definition at line 429 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getNumTotalBundleOperands().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
Optional<OperandBundleUse> llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getOperandBundle ( StringRef  Name) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
Optional<OperandBundleUse> llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getOperandBundle ( uint32_t  ID) const [inline]

Definition at line 441 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
OperandBundleUse llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getOperandBundleAt ( unsigned  Index) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getOperandBundlesAsDefs ( SmallVectorImpl< OperandBundleDef > &  Defs) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
uint16_t llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getParamAlignment ( uint16_t  i) const [inline]

Extract the alignment for a call or parameter (0=unknown).

Definition at line 335 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getParamAlignment(), llvm::FastISel::ArgListEntry::setAttributes(), and llvm::TargetLowering::ArgListEntry::setAttributes().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
BBTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getParent ( ) const [inline]

Get the basic block containing the call site.

Definition at line 89 of file CallSite.h.

Referenced by addNoRecurseAttrsTopDown().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
Type* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getType ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 517 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasFnAttr ( Attribute::AttrKind  A) const [inline]

Return true if this function has the given attribute.

Definition at line 309 of file CallSite.h.

Referenced by llvm::Function::callsFunctionThatReturnsTwice(), llvm::callsGCLeafFunction(), llvm::getInlineCost(), llvm::CallSiteBase<>::hasFnAttr(), and hasReturnsTwiceAttr().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasFnAttr ( StringRef  A) const [inline]

Return true if this function has the given attribute.

Definition at line 314 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 489 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasOperandBundles ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isArgOperand ( Value::const_user_iterator  UI) const [inline]

Determine whether the passed iterator points to an argument operand.

Definition at line 123 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getArgumentNo(), and llvm::CallSiteBase<>::isArgOperand().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isArgOperand ( const Use U) const [inline]

Determine whether the passed use points to an argument operand.

Definition at line 128 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isBundleOperand ( Value::const_user_iterator  UI) const [inline]

Determine whether the passed iterator points to a bundle operand.

Definition at line 134 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::isBundleOperand().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isBundleOperand ( const Use U) const [inline]

Determine whether the passed use points to a bundle operand.

Definition at line 139 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValArgument ( unsigned  ArgNo) const [inline]

Determine whether this argument is passed by value.

Definition at line 472 of file CallSite.h.

Referenced by llvm::AAResults::callCapturesBefore(), llvm::BasicAAResult::getModRefInfo(), and llvm::InlineFunction().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValOrInAllocaArgument ( unsigned  ArgNo) const [inline]

Determine whether this argument is passed by value or in an alloca.

Definition at line 482 of file CallSite.h.

Referenced by isSafeToEliminateVarargsCast().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isCall ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 114 of file CallSite.h.

Referenced by AddressIsTaken(), and llvm::CallSiteBase<>::isCallee().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isCallee ( const Use U) const [inline]

Determine whether this Use is the callee operand's Use.

Definition at line 119 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isDataOperand ( Value::const_user_iterator  UI) const [inline]

Determine whether the passed iterator points to a data operand.

Definition at line 149 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::getDataOperandNo(), and llvm::CallSiteBase<>::isDataOperand().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isDataOperand ( const Use U) const [inline]

Determine whether the passed use points to a data operand.

Definition at line 154 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isInAllocaArgument ( unsigned  ArgNo) const [inline]

Determine whether this argument is passed in an alloca.

Definition at line 477 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isInlineAsm ( ) const [inline]

Definition at line 276 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::isInlineAsm().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isInvoke ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 246 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::isMustTailCall().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 360 of file CallSite.h.

Referenced by getCalledFunction(), and llvm::CallSiteBase<>::isNoBuiltin().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isNoInline ( ) const [inline]

Return true if the call should not be inlined.

Definition at line 365 of file CallSite.h.

Referenced by llvm::CodeMetrics::analyzeBasicBlock(), llvm::getInlineCost(), and llvm::CallSiteBase<>::isNoInline().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, 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 505 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isTailCall ( ) const [inline]

Tests if this call site is marked as a tail call.

Definition at line 251 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::isTailCall().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::mutateFunctionType ( FunctionType Ty) const [inline]

Definition at line 295 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::mutateFunctionType().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyAccessesArgMemory ( ) const [inline]

Determine if the call can access memmory only using pointers based on its arguments.

Definition at line 390 of file CallSite.h.

Referenced by llvm::BasicAAResult::getModRefBehavior(), and llvm::CallSiteBase<>::onlyAccessesArgMemory().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory ( ) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory ( unsigned  OpNo) const [inline]

Definition at line 497 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::operator bool ( ) const [inline, explicit]

Definition at line 86 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
InstrTy* llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::operator-> ( ) const [inline]

Definition at line 85 of file CallSite.h.

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
bool llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr ( unsigned  i,
Attribute::AttrKind  A 
) const [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setArgument ( unsigned  ArgNo,
Value newVal 
) [inline]

Definition at line 163 of file CallSite.h.

Referenced by OptimizeAwayTrappingUsesOfValue().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setAttributes ( const AttributeSet PAL) [inline]
template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setCalledFunction ( Value V) [inline]

setCalledFunction - Set the callee to the specified value.

Definition at line 107 of file CallSite.h.

Referenced by OptimizeAwayTrappingUsesOfValue().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setCallingConv ( CallingConv::ID  CC) [inline]

Definition at line 287 of file CallSite.h.

Referenced by ChangeCalleesToFastCall(), and llvm::CallSiteBase<>::setCallingConv().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotAccessMemory ( ) [inline]

Definition at line 376 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setDoesNotAccessMemory().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotReturn ( ) [inline]

Definition at line 401 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setDoesNotReturn().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setDoesNotThrow ( ) [inline]

Definition at line 409 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setDoesNotThrow().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setIsNoInline ( bool  Value = true) [inline]

Definition at line 368 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setIsNoInline().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setOnlyAccessesArgMemory ( ) [inline]

Definition at line 393 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setOnlyAccessesArgMemory().

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
void llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setOnlyReadsMemory ( ) [inline]

Definition at line 384 of file CallSite.h.

Referenced by llvm::CallSiteBase<>::setOnlyReadsMemory().


Member Data Documentation

template<typename FunTy = const Function, typename BBTy = const BasicBlock, typename ValTy = const Value, typename UserTy = const User, typename UseTy = const Use, typename InstrTy = const Instruction, typename CallTy = const CallInst, typename InvokeTy = const InvokeInst, typename IterTy = User::const_op_iterator>
PointerIntPair<InstrTy*, 1, bool> llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::I [protected]

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