|
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) |
| Transparently provide more efficient getOperand methods. More...
|
|
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Constant) |
| Transparently provide more efficient getOperand methods. More...
|
|
bool | isCast () const |
| Return true if this is a convert constant expression. More...
|
|
bool | isCompare () const |
| Return true if this is a compare constant expression. More...
|
|
bool | hasIndices () const |
| Return true if this is an insertvalue or extractvalue expression, and the getIndices() method may be used. More...
|
|
bool | isGEPWithNoNotionalOverIndexing () const |
| Return true if this is a getelementptr expression and all the index operands are compile-time known integers within the corresponding notional static array extents. Note that this is not equivalant to, a subset of, or a superset of the "inbounds" property. More...
|
|
unsigned | getOpcode () const |
| getOpcode - Return the opcode at the root of this constant expression More...
|
|
unsigned | getPredicate () const |
|
ArrayRef< unsigned > | getIndices () const |
|
const char * | getOpcodeName () const |
| getOpcodeName - Return a string representation for an opcode. More...
|
|
Constant * | getWithOperandReplaced (unsigned OpNo, Constant *Op) const |
|
Constant * | getWithOperands (ArrayRef< Constant * > Ops) const |
|
Constant * | getWithOperands (ArrayRef< Constant * > Ops, Type *Ty) const |
|
Instruction * | getAsInstruction () |
|
virtual void | destroyConstant () |
|
virtual void | replaceUsesOfWithOnConstant (Value *From, Value *To, Use *U) |
|
bool | isNullValue () const |
|
bool | isAllOnesValue () const |
|
bool | isNegativeZeroValue () const |
|
bool | isZeroValue () const |
| Return true if the value is negative zero or null value. More...
|
|
bool | canTrap () const |
|
bool | isThreadDependent () const |
| isThreadDependent - Return true if the value can vary between threads. More...
|
|
bool | isConstantUsed () const |
|
PossibleRelocationsTy | getRelocationInfo () const |
|
Constant * | getAggregateElement (unsigned Elt) const |
|
Constant * | getAggregateElement (Constant *Elt) const |
|
Constant * | getSplatValue () const |
|
const APInt & | getUniqueInteger () const |
|
void | removeDeadConstantUsers () const |
|
| ~User () |
|
void | operator delete (void *Usr) |
| operator delete - free memory allocated for User and Use objects More...
|
|
void | operator delete (void *, unsigned) |
| placement delete - required by std, but never called. More...
|
|
void | operator delete (void *, unsigned, bool) |
| placement delete - required by std, but never called. More...
|
|
Value * | getOperand (unsigned i) const |
|
void | setOperand (unsigned i, Value *Val) |
|
const Use & | getOperandUse (unsigned i) const |
|
Use & | getOperandUse (unsigned i) |
|
unsigned | getNumOperands () const |
|
op_iterator | op_begin () |
|
const_op_iterator | op_begin () const |
|
op_iterator | op_end () |
|
const_op_iterator | op_end () const |
|
value_op_iterator | value_op_begin () |
|
value_op_iterator | value_op_end () |
|
void | dropAllReferences () |
|
void | replaceUsesOfWith (Value *From, Value *To) |
|
virtual | ~Value () |
|
void | dump () const |
| dump - Support for debugging, callable in GDB: V->dump() More...
|
|
void | print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const |
|
Type * | getType () const |
|
LLVMContext & | getContext () const |
| All values hold a context through their type. More...
|
|
bool | hasName () const |
|
ValueName * | getValueName () const |
|
void | setValueName (ValueName *VN) |
|
StringRef | getName () const |
|
void | setName (const Twine &Name) |
|
void | takeName (Value *V) |
|
void | replaceAllUsesWith (Value *V) |
|
bool | use_empty () const |
|
use_iterator | use_begin () |
|
const_use_iterator | use_begin () const |
|
use_iterator | use_end () |
|
const_use_iterator | use_end () const |
|
User * | use_back () |
|
const User * | use_back () const |
|
bool | hasOneUse () const |
|
bool | hasNUses (unsigned N) const |
|
bool | hasNUsesOrMore (unsigned N) const |
|
bool | isUsedInBasicBlock (const BasicBlock *BB) const |
|
unsigned | getNumUses () const |
|
void | addUse (Use &U) |
|
unsigned | getValueID () const |
|
unsigned | getRawSubclassOptionalData () const |
|
void | clearSubclassOptionalData () |
|
bool | hasSameSubclassOptionalData (const Value *V) const |
|
void | intersectOptionalDataWith (const Value *V) |
|
bool | hasValueHandle () const |
|
Value * | stripPointerCasts () |
| Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More...
|
|
const Value * | stripPointerCasts () const |
|
Value * | stripPointerCastsNoFollowAliases () |
| Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More...
|
|
const Value * | stripPointerCastsNoFollowAliases () const |
|
Value * | stripInBoundsConstantOffsets () |
| Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More...
|
|
const Value * | stripInBoundsConstantOffsets () const |
|
Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
| Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More...
|
|
const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
|
Value * | stripInBoundsOffsets () |
| Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More...
|
|
const Value * | stripInBoundsOffsets () const |
|
bool | isDereferenceablePointer () const |
|
Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
|
const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
|
void | mutateType (Type *Ty) |
|
|
static GetElementPtrConstantExpr * | Create (Constant *C, ArrayRef< Constant * > IdxList, Type *DestTy, unsigned Flags) |
|
static Constant * | getAlignOf (Type *Ty) |
|
static Constant * | getSizeOf (Type *Ty) |
|
static Constant * | getOffsetOf (StructType *STy, unsigned FieldNo) |
|
static Constant * | getOffsetOf (Type *Ty, Constant *FieldNo) |
|
static Constant * | getNeg (Constant *C, bool HasNUW=false, bool HasNSW=false) |
|
static Constant * | getFNeg (Constant *C) |
|
static Constant * | getNot (Constant *C) |
|
static Constant * | getAdd (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false) |
|
static Constant * | getFAdd (Constant *C1, Constant *C2) |
|
static Constant * | getSub (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false) |
|
static Constant * | getFSub (Constant *C1, Constant *C2) |
|
static Constant * | getMul (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false) |
|
static Constant * | getFMul (Constant *C1, Constant *C2) |
|
static Constant * | getUDiv (Constant *C1, Constant *C2, bool isExact=false) |
|
static Constant * | getSDiv (Constant *C1, Constant *C2, bool isExact=false) |
|
static Constant * | getFDiv (Constant *C1, Constant *C2) |
|
static Constant * | getURem (Constant *C1, Constant *C2) |
|
static Constant * | getSRem (Constant *C1, Constant *C2) |
|
static Constant * | getFRem (Constant *C1, Constant *C2) |
|
static Constant * | getAnd (Constant *C1, Constant *C2) |
|
static Constant * | getOr (Constant *C1, Constant *C2) |
|
static Constant * | getXor (Constant *C1, Constant *C2) |
|
static Constant * | getShl (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false) |
|
static Constant * | getLShr (Constant *C1, Constant *C2, bool isExact=false) |
|
static Constant * | getAShr (Constant *C1, Constant *C2, bool isExact=false) |
|
static Constant * | getTrunc (Constant *C, Type *Ty) |
|
static Constant * | getSExt (Constant *C, Type *Ty) |
|
static Constant * | getZExt (Constant *C, Type *Ty) |
|
static Constant * | getFPTrunc (Constant *C, Type *Ty) |
|
static Constant * | getFPExtend (Constant *C, Type *Ty) |
|
static Constant * | getUIToFP (Constant *C, Type *Ty) |
|
static Constant * | getSIToFP (Constant *C, Type *Ty) |
|
static Constant * | getFPToUI (Constant *C, Type *Ty) |
|
static Constant * | getFPToSI (Constant *C, Type *Ty) |
|
static Constant * | getPtrToInt (Constant *C, Type *Ty) |
|
static Constant * | getIntToPtr (Constant *C, Type *Ty) |
|
static Constant * | getBitCast (Constant *C, Type *Ty) |
|
static Constant * | getAddrSpaceCast (Constant *C, Type *Ty) |
|
static Constant * | getNSWNeg (Constant *C) |
|
static Constant * | getNUWNeg (Constant *C) |
|
static Constant * | getNSWAdd (Constant *C1, Constant *C2) |
|
static Constant * | getNUWAdd (Constant *C1, Constant *C2) |
|
static Constant * | getNSWSub (Constant *C1, Constant *C2) |
|
static Constant * | getNUWSub (Constant *C1, Constant *C2) |
|
static Constant * | getNSWMul (Constant *C1, Constant *C2) |
|
static Constant * | getNUWMul (Constant *C1, Constant *C2) |
|
static Constant * | getNSWShl (Constant *C1, Constant *C2) |
|
static Constant * | getNUWShl (Constant *C1, Constant *C2) |
|
static Constant * | getExactSDiv (Constant *C1, Constant *C2) |
|
static Constant * | getExactUDiv (Constant *C1, Constant *C2) |
|
static Constant * | getExactAShr (Constant *C1, Constant *C2) |
|
static Constant * | getExactLShr (Constant *C1, Constant *C2) |
|
static Constant * | getBinOpIdentity (unsigned Opcode, Type *Ty) |
|
static Constant * | getBinOpAbsorber (unsigned Opcode, Type *Ty) |
|
static Constant * | getCast (unsigned ops, Constant *C, Type *Ty) |
|
static Constant * | getZExtOrBitCast (Constant *C, Type *Ty) |
|
static Constant * | getSExtOrBitCast (Constant *C, Type *Ty) |
|
static Constant * | getTruncOrBitCast (Constant *C, Type *Ty) |
|
static Constant * | getPointerCast (Constant *C, Type *Ty) |
| Create a BitCast or a PtrToInt cast constant expression. More...
|
|
static Constant * | getIntegerCast (Constant *C, Type *Ty, bool isSigned) |
| Create a ZExt, Bitcast or Trunc for integer -> integer casts. More...
|
|
static Constant * | getFPCast (Constant *C, Type *Ty) |
| Create a FPExt, Bitcast or FPTrunc for fp -> fp casts. More...
|
|
static Constant * | getSelect (Constant *C, Constant *V1, Constant *V2) |
|
static Constant * | get (unsigned Opcode, Constant *C1, Constant *C2, unsigned Flags=0) |
|
static Constant * | getCompare (unsigned short pred, Constant *C1, Constant *C2) |
| Return an ICmp or FCmp comparison operator constant expression. More...
|
|
static Constant * | getICmp (unsigned short pred, Constant *LHS, Constant *RHS) |
|
static Constant * | getFCmp (unsigned short pred, Constant *LHS, Constant *RHS) |
|
static Constant * | getGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList, bool InBounds=false) |
|
static Constant * | getGetElementPtr (Constant *C, Constant *Idx, bool InBounds=false) |
|
static Constant * | getGetElementPtr (Constant *C, ArrayRef< Value * > IdxList, bool InBounds=false) |
|
static Constant * | getInBoundsGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList) |
|
static Constant * | getInBoundsGetElementPtr (Constant *C, Constant *Idx) |
|
static Constant * | getInBoundsGetElementPtr (Constant *C, ArrayRef< Value * > IdxList) |
|
static Constant * | getExtractElement (Constant *Vec, Constant *Idx) |
|
static Constant * | getInsertElement (Constant *Vec, Constant *Elt, Constant *Idx) |
|
static Constant * | getShuffleVector (Constant *V1, Constant *V2, Constant *Mask) |
|
static Constant * | getExtractValue (Constant *Agg, ArrayRef< unsigned > Idxs) |
|
static Constant * | getInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs) |
|
static bool | classof (const Value *V) |
| Methods for support type inquiry through isa, cast, and dyn_cast: More...
|
|
static bool | classof (const Value *V) |
|
static Constant * | getNullValue (Type *Ty) |
|
static Constant * | getAllOnesValue (Type *Ty) |
| Get the all ones value. More...
|
|
static Constant * | getIntegerValue (Type *Ty, const APInt &V) |
|
static bool | classof (const Value *V) |
|
|
enum | PossibleRelocationsTy { NoRelocation = 0,
LocalRelocation = 1,
GlobalRelocations = 2
} |
|
typedef Use * | op_iterator |
|
typedef const Use * | const_op_iterator |
|
enum | ValueTy {
ArgumentVal,
BasicBlockVal,
FunctionVal,
GlobalAliasVal,
GlobalVariableVal,
UndefValueVal,
BlockAddressVal,
ConstantExprVal,
ConstantAggregateZeroVal,
ConstantDataArrayVal,
ConstantDataVectorVal,
ConstantIntVal,
ConstantFPVal,
ConstantArrayVal,
ConstantStructVal,
ConstantVectorVal,
ConstantPointerNullVal,
MDNodeVal,
MDStringVal,
InlineAsmVal,
PseudoSourceValueVal,
FixedStackPseudoSourceValueVal,
InstructionVal,
ConstantFirstVal = FunctionVal,
ConstantLastVal = ConstantPointerNullVal
} |
|
typedef value_use_iterator< User > | use_iterator |
|
typedef value_use_iterator
< const User > | const_use_iterator |
|
static const unsigned | MaximumAlignment = 1u << 29 |
|
| ConstantExpr (Type *ty, unsigned Opcode, Use *Ops, unsigned NumOps) |
|
| Constant (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps) |
|
void | destroyConstantImpl () |
|
void * | operator new (size_t s, unsigned Us) |
|
| User (Type *ty, unsigned vty, Use *OpList, unsigned NumOps) |
|
Use * | allocHungoffUses (unsigned) const |
|
void | dropHungoffUses () |
|
template<int Idx> |
Use & | Op () |
|
template<int Idx> |
const Use & | Op () const |
|
virtual void | printCustom (raw_ostream &O) const |
|
| Value (Type *Ty, unsigned scid) |
|
unsigned short | getSubclassDataFromValue () const |
|
void | setValueSubclassData (unsigned short D) |
|
template<int Idx, typename U > |
static Use & | OpFrom (const U *that) |
|
Use * | OperandList |
|
unsigned | NumOperands |
|
unsigned char | SubclassOptionalData: 7 |
|
GetElementPtrConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement getelementpr constant exprs.
Definition at line 214 of file ConstantsContext.h.