LLVM  3.7.0
Public Member Functions | List of all members
llvm::ImmutableCallSite Class Reference

ImmutableCallSite - establish a view to a call site for examination. More...

#include <CallSite.h>

Inheritance diagram for llvm::ImmutableCallSite:
[legend]
Collaboration diagram for llvm::ImmutableCallSite:
[legend]

Public Member Functions

 ImmutableCallSite ()
 
 ImmutableCallSite (const CallInst *CI)
 
 ImmutableCallSite (const InvokeInst *II)
 
 ImmutableCallSite (const Instruction *II)
 
 ImmutableCallSite (const Value *V)
 
 ImmutableCallSite (CallSite CS)
 
- Public Member Functions inherited from llvm::CallSiteBase<>
bool isCall () const
 isCall - true if a CallInst is enclosed. More...
 
bool isInvoke () const
 isInvoke - true if a InvokeInst is enclosed. More...
 
const InstructiongetInstruction () const
 
const Instructionoperator-> () const
 
 operator bool () const
 
const BasicBlockgetParent () const
 Get the basic block containing the call site. More...
 
const ValuegetCalledValue () const
 getCalledValue - Return the pointer to function that is being called. More...
 
const FunctiongetCalledFunction () const
 getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call). More...
 
void setCalledFunction (Value *V)
 setCalledFunction - Set the callee to the specified value. More...
 
bool isCallee (Value::const_user_iterator UI) const
 isCallee - Determine whether the passed iterator points to the callee operand's Use. More...
 
bool isCallee (const Use *U) const
 Determine whether this Use is the callee operand's Use. More...
 
const ValuegetArgument (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. More...
 
unsigned getArgumentNo (const Use *U) const
 Given a use for an argument, get the argument number that corresponds to it. More...
 
User::const_op_iterator arg_begin () const
 arg_begin/arg_end - Return iterators corresponding to the actual argument list for a call site. More...
 
User::const_op_iterator arg_end () const
 
iterator_range
< User::const_op_iterator
args () const
 
bool arg_empty () const
 
unsigned arg_size () const
 
TypegetType () const
 getType - Return the type of the instruction that generated this call site More...
 
const FunctiongetCaller () const
 getCaller - Return the caller function for this call site More...
 
bool isMustTailCall () const
 Tests if this call site must be tail call optimized. More...
 
bool isTailCall () const
 Tests if this call site is marked as a tail call. More...
 
unsigned getNumArgOperands () const
 
const ValuegetArgOperand (unsigned i) const
 
bool isInlineAsm () const
 
CallingConv::ID getCallingConv () const
 getCallingConv/setCallingConv - get or set the calling convention of the call. More...
 
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. More...
 
void setAttributes (const AttributeSet &PAL)
 
bool hasFnAttr (Attribute::AttrKind A) const
 Return true if this function has the given attribute. More...
 
bool paramHasAttr (unsigned i, Attribute::AttrKind A) const
 Return true if the call or the callee has the given attribute. More...
 
uint16_t getParamAlignment (uint16_t i) const
 Extract the alignment for a call or parameter (0=unknown). More...
 
uint64_t getDereferenceableBytes (uint16_t i) const
 Extract the number of dereferenceable bytes for a call or parameter (0=unknown). More...
 
uint64_t getDereferenceableOrNullBytes (uint16_t i) const
 Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown). More...
 
bool isNoBuiltin () const
 Return true if the call should not be treated as a call to a builtin. More...
 
bool isNoInline () const
 Return true if the call should not be inlined. More...
 
void setIsNoInline (bool Value=true)
 
bool doesNotAccessMemory () const
 Determine if the call does not access memory. More...
 
bool doesNotAccessMemory (unsigned ArgNo) const
 
void setDoesNotAccessMemory ()
 
bool onlyReadsMemory () const
 Determine if the call does not access or only reads memory. More...
 
bool onlyReadsMemory (unsigned ArgNo) const
 
void setOnlyReadsMemory ()
 
bool onlyAccessesArgMemory () const
 Determine if the call can access memmory only using pointers based on its arguments. More...
 
void setOnlyAccessesArgMemory ()
 
bool doesNotReturn () const
 Determine if the call cannot return. More...
 
void setDoesNotReturn ()
 
bool doesNotThrow () const
 Determine if the call cannot unwind. More...
 
void setDoesNotThrow ()
 
bool doesNotCapture (unsigned ArgNo) const
 Determine whether this argument is not captured. More...
 
bool isByValArgument (unsigned ArgNo) const
 Determine whether this argument is passed by value. More...
 
bool isInAllocaArgument (unsigned ArgNo) const
 Determine whether this argument is passed in an alloca. More...
 
bool isByValOrInAllocaArgument (unsigned ArgNo) const
 Determine whether this argument is passed by value or in an alloca. More...
 
bool hasInAllocaArgument () const
 Determine if there are is an inalloca argument. More...
 
bool isReturnNonNull () const
 Return true if the return value is known to be not null. More...
 
bool hasArgument (const Value *Arg) const
 hasArgument - Returns true if this CallSite passes the given Value* as an argument to the called function. More...
 

Additional Inherited Members

- Public Types inherited from llvm::CallSiteBase<>
typedef User::const_op_iterator arg_iterator
 arg_iterator - The type of iterator to use when looping over actual arguments at this call site. More...
 
- Protected Member Functions inherited from llvm::CallSiteBase<>
 CallSiteBase ()
 
 CallSiteBase (const CallInst *CI)
 
 CallSiteBase (const InvokeInst *II)
 
 CallSiteBase (const Value *II)
 
- Protected Attributes inherited from llvm::CallSiteBase<>
PointerIntPair< const
Instruction *, 1, bool
I
 

Detailed Description

ImmutableCallSite - establish a view to a call site for examination.

Definition at line 418 of file CallSite.h.

Constructor & Destructor Documentation

llvm::ImmutableCallSite::ImmutableCallSite ( )
inline

Definition at line 420 of file CallSite.h.

llvm::ImmutableCallSite::ImmutableCallSite ( const CallInst CI)
inline

Definition at line 421 of file CallSite.h.

llvm::ImmutableCallSite::ImmutableCallSite ( const InvokeInst II)
inline

Definition at line 422 of file CallSite.h.

llvm::ImmutableCallSite::ImmutableCallSite ( const Instruction II)
inlineexplicit

Definition at line 423 of file CallSite.h.

llvm::ImmutableCallSite::ImmutableCallSite ( const Value V)
inlineexplicit

Definition at line 424 of file CallSite.h.

llvm::ImmutableCallSite::ImmutableCallSite ( CallSite  CS)
inline

Definition at line 425 of file CallSite.h.


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