24 #ifndef LLVM_IR_INTRINSICINST_H
25 #define LLVM_IR_INTRINSICINST_H
58 return CF->isIntrinsic();
62 return isa<CallInst>(V) &&
classof(cast<CallInst>(V));
77 case Intrinsic::dbg_declare:
78 case Intrinsic::dbg_value:
80 default:
return false;
84 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
114 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
126 return cast<ConstantInt>(
151 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
194 "setDest called with pointer of wrong type!");
200 "setLength called with value of wrong type!");
219 case Intrinsic::memcpy:
220 case Intrinsic::memmove:
221 case Intrinsic::memset:
223 default:
return false;
227 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
241 "setValue called with value of wrong type!");
250 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
273 "setSource called with pointer of wrong type!");
283 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
295 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
307 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
318 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
331 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
344 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
358 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
362 return cast<GlobalVariable>(
384 return I->
getIntrinsicID() == Intrinsic::instrprof_increment_step;
387 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
398 return isa<IntrinsicInst>(V) &&
classof(cast<IntrinsicInst>(V));
402 return cast<GlobalVariable>(
426 #endif // LLVM_IR_INTRINSICINST_H
unsigned getAlignment() const
static bool classof(const Value *V)
IntrinsicInst & operator=(const IntrinsicInst &)=delete
static bool classof(const IntrinsicInst *I)
Metadata * getRawVariable() const
This represents the llvm.va_end intrinsic.
Intrinsic::ID getIntrinsicID() const
Return the intrinsic ID of this intrinsic.
ConstantInt * getAlignmentCst() const
Value * getValue() const
Return the arguments to the instruction.
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)
ConstantInt * getIndex() const
static bool classof(const Value *V)
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 the specified arguments of the instruction.
void setAlignment(Constant *A)
uint64_t getOffset() const
ConstantInt * getHash() const
static bool classof(const IntrinsicInst *I)
Value * getAddress() const
Value * getArgList() const
This class wraps the llvm.memmove intrinsic.
A Use represents the edge between a Value definition and its users.
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...
This represents the llvm.va_start intrinsic.
Metadata * getRawExpression() const
static bool classof(const Value *V)
ConstantInt * getHash() const
static bool classof(const Value *V)
GlobalVariable * getName() const
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
static bool classof(const Value *V)
Metadata * getRawVariable() const
ConstantInt * getVolatileCst() const
static bool classof(const Value *V)
Value * getTargetValue() const
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
const Use & getRawSourceUse() const
DIExpression * getExpression() const
This is the common base class for memset/memcpy/memmove.
This is the shared class of boolean and integer constants.
Value * getDest() const
This is just like getRawDest, but it strips off any cast instructions that feed it, giving the original input.
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
Get the metadata of given kind attached to this Instruction.
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.
This class wraps the llvm.memcpy intrinsic.
Function * getCalledFunction() const
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
This is just like getRawSource, but it strips off any cast instructions that feed it...
This class wraps the llvm.memcpy/memmove intrinsics.
This represents the llvm.dbg.value instruction.
void setArgOperand(unsigned i, Value *v)
void setSource(Value *Ptr)
static bool classof(const Value *V)
Value * getVariableLocation(bool AllowNullOp=true) const
Get the location corresponding to the variable referenced by the debug info intrinsic.
static bool classof(const Value *V)
static bool classof(const IntrinsicInst *I)
Value * getRawSource() const
Return the arguments to the instruction.
This represents the llvm.va_copy intrinsic.
DILocalVariable * getVariable() const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
LLVM Value Representation.
DILocalVariable * getVariable() const
unsigned getDestAddressSpace() const
ConstantInt * getValueKind() const
const Use & getLengthUse() const
This represents the llvm.instrprof_value_profile intrinsic.
const Use & getRawDestUse() const
unsigned getSourceAddressSpace() const
This represents the llvm.dbg.declare instruction.
static GCRegistry::Add< ErlangGC > A("erlang","erlang-compatible garbage collector")
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
static bool classof(const IntrinsicInst *I)
A wrapper class for inspecting calls to intrinsic functions.