24 #ifndef LLVM_IR_INTRINSICINST_H
25 #define LLVM_IR_INTRINSICINST_H
51 return CF->isIntrinsic();
55 return isa<CallInst>(V) &&
classof(cast<CallInst>(V));
67 case Intrinsic::dbg_declare:
68 case Intrinsic::dbg_value:
70 default:
return false;
74 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
104 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
115 return cast<ConstantInt>(
137 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
181 "setDest called with pointer of wrong type!");
187 "setLength called with value of wrong type!");
206 case Intrinsic::memcpy:
207 case Intrinsic::memmove:
208 case Intrinsic::memset:
210 default:
return false;
214 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
230 "setValue called with value of wrong type!");
239 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
264 "setSource called with pointer of wrong type!");
274 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
288 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
301 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
313 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
327 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
341 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
355 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
359 return cast<GlobalVariable>(
unsigned getAlignment() const
static bool classof(const IntrinsicInst *I)
Metadata * getRawVariable() const
VAEndInst - This represents the llvm.va_end intrinsic.
Intrinsic::ID getIntrinsicID() const
getIntrinsicID - Return the intrinsic ID of this intrinsic.
ConstantInt * getAlignmentCst() const
Value * getValue() const
get* - Return the arguments to the instruction.
CallInst - This class represents a function call, abstracting a target machine's calling convention...
static bool classof(const CallInst *I)
static bool classof(const IntrinsicInst *I)
static bool classof(const Value *V)
MemSetInst - This class wraps the llvm.memset intrinsic.
void setVolatile(Constant *V)
void setValue(Value *Val)
const Use & getArgOperandUse(unsigned i) const
Wrappers for getting the Use of a call argument.
void setDest(Value *Ptr)
set* - Set the specified arguments of the instruction.
void setAlignment(Constant *A)
uint64_t getOffset() const
ConstantInt * getHash() const
static bool classof(const IntrinsicInst *I)
Value * getArgList() const
MemMoveInst - This class wraps the llvm.memmove intrinsic.
A Use represents the edge between a Value definition and its users.
static Value * StripCast(Value *C)
ConstantInt * getIndex() const
Type * getAlignmentType() const
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
ConstantInt * getNumCounters() const
uint64_t getZExtValue() const
Return the constant as a 64-bit unsigned integer value after it has been zero extended as appropriate...
VAStartInst - This represents the llvm.va_start intrinsic.
Metadata * getRawExpression() const
static bool classof(const Value *V)
static bool classof(const Value *V)
const Use & getValueUse() const
Value * getArgList() const
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
GlobalVariable * getName() const
The instances of the Type class are immutable: once they are created, they are never changed...
DIExpression * getExpression() const
This is an important base class in LLVM.
This file contains the declarations for the subclasses of Constant, which represent the different fla...
Value * getRawDest() const
Metadata * getRawVariable() const
ConstantInt * getVolatileCst() const
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
const Use & getRawSourceUse() const
DIExpression * getExpression() const
MemIntrinsic - This is the common base class for memset/memcpy/memmove.
This is the shared class of boolean and integer constants.
Value * getDest() const
getDest - This is just like getRawDest, but it strips off any cast instructions that feed it...
Metadata * getRawExpression() const
static bool classof(const Value *V)
Type * getType() const
All values are typed, get the type of this value.
MDNode * getMetadata(unsigned KindID) const
getMetadata - Get the metadata of given kind attached to this Instruction.
DbgInfoIntrinsic - This is the common base class for debug info intrinsics.
static bool classof(const Value *V)
Value * getLength() const
static bool classof(const IntrinsicInst *I)
Value * stripPointerCasts()
Strip off pointer casts, all-zero GEPs, and aliases.
MemCpyInst - This class wraps the llvm.memcpy intrinsic.
Function * getCalledFunction() const
getCalledFunction - Return the function called, or null if this is an indirect function invocation...
bool isZero() const
This is just a convenience method to make client code smaller for a common code.
static bool classof(const Value *V)
Intrinsic::ID getIntrinsicID() const LLVM_READONLY
getIntrinsicID - This method returns the ID number of the specified function, or Intrinsic::not_intri...
Value * getArgOperand(unsigned i) const
getArgOperand/setArgOperand - Return/set the i-th call argument.
static bool classof(const Value *V)
This represents the llvm.instrprof_increment intrinsic.
Value * getSource() const
getSource - This is just like getRawSource, but it strips off any cast instructions that feed it...
MemTransferInst - This class wraps the llvm.memcpy/memmove intrinsics.
DbgValueInst - This represents the llvm.dbg.value instruction.
void setArgOperand(unsigned i, Value *v)
void setSource(Value *Ptr)
static bool classof(const Value *V)
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
Value * getRawSource() const
get* - Return the arguments to the instruction.
VACopyInst - This represents the llvm.va_copy intrinsic.
DILocalVariable * getVariable() const
LLVM Value Representation.
Value * getAddress() const
DbgDeclareInst - This represents the llvm.dbg.declare instruction.
DILocalVariable * getVariable() const
unsigned getDestAddressSpace() const
const Value * getValue() const
DbgValueInst - This represents the llvm.dbg.value instruction.
const Use & getLengthUse() const
const Use & getRawDestUse() const
unsigned getSourceAddressSpace() const
DbgDeclareInst - This represents the llvm.dbg.declare instruction.
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
IntrinsicInst - A useful wrapper class for inspecting calls to intrinsic functions.