14 #ifndef LLVM_IR_CONSTANT_H
15 #define LLVM_IR_CONSTANT_H
22 template<
typename T>
class SmallVectorImpl;
44 virtual void anchor();
48 :
User(ty, vty, Ops, NumOps) {}
144 assert(
getNumOperands() == 0 &&
"replaceUsesOfWithOnConstant must be "
145 "implemented for all constants that have operands!");
void destroyConstantImpl()
Constant * getSplatValue() const
unsigned getNumOperands() const
static bool classof(const Value *V)
const APInt & getUniqueInteger() const
static Constant * getNullValue(Type *Ty)
bool isNegativeZeroValue() const
#define llvm_unreachable(msg)
bool isConstantUsed() const
Constant(Type *ty, ValueTy vty, Use *Ops, unsigned NumOps)
LLVM Constant Representation.
bool isZeroValue() const
Return true if the value is negative zero or null value.
virtual void replaceUsesOfWithOnConstant(Value *, Value *, Use *)
unsigned getValueID() const
Constant * getAggregateElement(unsigned Elt) const
static Constant * getAllOnesValue(Type *Ty)
Get the all ones value.
static Constant * getIntegerValue(Type *Ty, const APInt &V)
PossibleRelocationsTy getRelocationInfo() const
bool isAllOnesValue() const
#define LLVM_DELETED_FUNCTION
Class for arbitrary precision integers.
virtual void destroyConstant()
void removeDeadConstantUsers() const
LLVM Value Representation.
bool isThreadDependent() const
isThreadDependent - Return true if the value can vary between threads.