|
LLVM
8.0.1
|
ExtractElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement extractelement constant exprs. More...
#include "IR/ConstantsContext.h"


Public Member Functions | |
| ExtractElementConstantExpr (Constant *C1, Constant *C2) | |
| void * | operator new (size_t s) |
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) | |
| Transparently provide more efficient getOperand methods. More... | |
Public Member Functions inherited from llvm::ConstantExpr | |
| 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. More... | |
| unsigned | getOpcode () const |
| Return the opcode at the root of this constant expression. More... | |
| unsigned | getPredicate () const |
| Return the ICMP or FCMP predicate value. More... | |
| ArrayRef< unsigned > | getIndices () const |
| Assert that this is an insertvalue or exactvalue expression and return the list of indices. More... | |
| const char * | getOpcodeName () const |
| Return a string representation for an opcode. More... | |
| Constant * | getWithOperandReplaced (unsigned OpNo, Constant *Op) const |
| Return a constant expression identical to this one, but with the specified operand set to the specified value. More... | |
| Constant * | getWithOperands (ArrayRef< Constant *> Ops) const |
| This returns the current constant expression with the operands replaced with the specified values. More... | |
| Constant * | getWithOperands (ArrayRef< Constant *> Ops, Type *Ty, bool OnlyIfReduced=false, Type *SrcTy=nullptr) const |
| Get the current expression with the operands replaced. More... | |
| Instruction * | getAsInstruction () |
| Returns an Instruction which implements the same operation as this ConstantExpr. More... | |
Public Member Functions inherited from llvm::Constant | |
| void | operator= (const Constant &)=delete |
| Constant (const Constant &)=delete | |
| bool | isNullValue () const |
| Return true if this is the value that would be returned by getNullValue. More... | |
| bool | isOneValue () const |
| Returns true if the value is one. More... | |
| bool | isAllOnesValue () const |
| Return true if this is the value that would be returned by getAllOnesValue. More... | |
| bool | isNegativeZeroValue () const |
| Return true if the value is what would be returned by getZeroValueForNegation. More... | |
| bool | isZeroValue () const |
| Return true if the value is negative zero or null value. More... | |
| bool | isNotMinSignedValue () const |
| Return true if the value is not the smallest signed value. More... | |
| bool | isMinSignedValue () const |
| Return true if the value is the smallest signed value. More... | |
| bool | isFiniteNonZeroFP () const |
| Return true if this is a finite and non-zero floating-point scalar constant or a vector constant with all finite and non-zero elements. More... | |
| bool | isNormalFP () const |
| Return true if this is a normal (as opposed to denormal) floating-point scalar constant or a vector constant with all normal elements. More... | |
| bool | hasExactInverseFP () const |
| Return true if this scalar has an exact multiplicative inverse or this vector has an exact multiplicative inverse for each element in the vector. More... | |
| bool | isNaN () const |
| Return true if this is a floating-point NaN constant or a vector floating-point constant with all NaN elements. More... | |
| bool | containsUndefElement () const |
| Return true if this is a vector constant that includes any undefined elements. More... | |
| bool | canTrap () const |
| Return true if evaluation of this constant could trap. More... | |
| bool | isThreadDependent () const |
| Return true if the value can vary between threads. More... | |
| bool | isDLLImportDependent () const |
| Return true if the value is dependent on a dllimport variable. More... | |
| bool | isConstantUsed () const |
| Return true if the constant has users other than constant expressions and other dangling things. More... | |
| bool | needsRelocation () const |
| This method classifies the entry according to whether or not it may generate a relocation entry. More... | |
| Constant * | getAggregateElement (unsigned Elt) const |
| For aggregates (struct/array/vector) return the constant that corresponds to the specified element if possible, or null if not. More... | |
| Constant * | getAggregateElement (Constant *Elt) const |
| Constant * | getSplatValue () const |
| If this is a splat vector constant, meaning that all of the elements have the same value, return that value. More... | |
| const APInt & | getUniqueInteger () const |
| If C is a constant integer then return its value, otherwise C must be a vector of constant integers, all equal, and the common value is returned. More... | |
| void | destroyConstant () |
| Called if some element of this constant is no longer valid. More... | |
| void | handleOperandChange (Value *, Value *) |
| This method is a special form of User::replaceUsesOfWith (which does not work on constants) that does work on constants. More... | |
| void | removeDeadConstantUsers () const |
| If there are any dead constant users dangling off of this constant, remove them. More... | |
| const Constant * | stripPointerCasts () const |
| Constant * | stripPointerCasts () |
Public Member Functions inherited from llvm::User | |
| User (const User &)=delete | |
| void | operator delete (void *Usr) |
| Free memory allocated for User and Use objects. More... | |
| void | operator delete (void *Usr, unsigned) |
| Placement delete - required by std, called if the ctor throws. More... | |
| void | operator delete (void *Usr, unsigned, bool) |
| Placement delete - required by std, called if the ctor throws. More... | |
| const Use * | getOperandList () const |
| Use * | getOperandList () |
| Value * | getOperand (unsigned i) const |
| void | setOperand (unsigned i, Value *Val) |
| const Use & | getOperandUse (unsigned i) const |
| Use & | getOperandUse (unsigned i) |
| unsigned | getNumOperands () const |
| ArrayRef< const uint8_t > | getDescriptor () const |
| Returns the descriptor co-allocated with this User instance. More... | |
| MutableArrayRef< uint8_t > | getDescriptor () |
| Returns the descriptor co-allocated with this User instance. More... | |
| void | setGlobalVariableNumOperands (unsigned NumOps) |
| Set the number of operands on a GlobalVariable. More... | |
| void | setNumHungOffUseOperands (unsigned NumOps) |
| Subclasses with hung off uses need to manage the operand count themselves. More... | |
| op_iterator | op_begin () |
| const_op_iterator | op_begin () const |
| op_iterator | op_end () |
| const_op_iterator | op_end () const |
| op_range | operands () |
| const_op_range | operands () const |
| value_op_iterator | value_op_begin () |
| value_op_iterator | value_op_end () |
| iterator_range< value_op_iterator > | operand_values () |
| const_value_op_iterator | value_op_begin () const |
| const_value_op_iterator | value_op_end () const |
| iterator_range< const_value_op_iterator > | operand_values () const |
| void | dropAllReferences () |
| Drop all references to operands. More... | |
| void | replaceUsesOfWith (Value *From, Value *To) |
| Replace uses of one Value with another. More... | |
Public Member Functions inherited from llvm::Value | |
| Value (const Value &)=delete | |
| Value & | operator= (const Value &)=delete |
| void | deleteValue () |
| Delete a pointer to a generic Value. More... | |
| void | dump () const |
| Support for debugging, callable in GDB: V->dump() More... | |
| Type * | getType () const |
| All values are typed, get the type of this value. More... | |
| 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 |
| Return a constant reference to the value's name. More... | |
| void | setName (const Twine &Name) |
| Change the name of the value. More... | |
| void | takeName (Value *V) |
| Transfer the name from V to this value. More... | |
| void | replaceAllUsesWith (Value *V) |
| Change all uses of this to point to a new Value. More... | |
| void | replaceNonMetadataUsesWith (Value *V) |
| Change non-metadata uses of this to point to a new Value. More... | |
| void | replaceUsesOutsideBlock (Value *V, BasicBlock *BB) |
| replaceUsesOutsideBlock - Go through the uses list for this definition and make each use point to "V" instead of "this" when the use is outside the block. More... | |
| void | assertModuleIsMaterializedImpl () const |
| void | assertModuleIsMaterialized () const |
| bool | use_empty () const |
| bool | materialized_use_empty () const |
| use_iterator | materialized_use_begin () |
| const_use_iterator | materialized_use_begin () const |
| use_iterator | use_begin () |
| const_use_iterator | use_begin () const |
| use_iterator | use_end () |
| const_use_iterator | use_end () const |
| iterator_range< use_iterator > | materialized_uses () |
| iterator_range< const_use_iterator > | materialized_uses () const |
| iterator_range< use_iterator > | uses () |
| iterator_range< const_use_iterator > | uses () const |
| bool | user_empty () const |
| user_iterator | materialized_user_begin () |
| const_user_iterator | materialized_user_begin () const |
| user_iterator | user_begin () |
| const_user_iterator | user_begin () const |
| user_iterator | user_end () |
| const_user_iterator | user_end () const |
| User * | user_back () |
| const User * | user_back () const |
| iterator_range< user_iterator > | materialized_users () |
| iterator_range< const_user_iterator > | materialized_users () const |
| iterator_range< user_iterator > | users () |
| iterator_range< const_user_iterator > | users () const |
| bool | hasOneUse () const |
| Return true if there is exactly one user of this value. More... | |
| bool | hasNUses (unsigned N) const |
| Return true if this Value has exactly N users. More... | |
| bool | hasNUsesOrMore (unsigned N) const |
| Return true if this value has N users or more. More... | |
| bool | isUsedInBasicBlock (const BasicBlock *BB) const |
| Check if this value is used in the specified basic block. More... | |
| unsigned | getNumUses () const |
| This method computes the number of uses of this Value. More... | |
| void | addUse (Use &U) |
| This method should only be used by the Use class. More... | |
| unsigned | getValueID () const |
| Return an ID for the concrete type of this object. More... | |
| unsigned | getRawSubclassOptionalData () const |
| Return the raw optional flags value contained in this value. More... | |
| void | clearSubclassOptionalData () |
| Clear the optional flags contained in this value. More... | |
| bool | hasSameSubclassOptionalData (const Value *V) const |
| Check the optional flags for equality. More... | |
| bool | hasValueHandle () const |
| Return true if there is a value handle associated with this value. More... | |
| bool | isUsedByMetadata () const |
| Return true if there is metadata referencing this value. More... | |
| bool | isSwiftError () const |
| Return true if this value is a swifterror value. More... | |
| const Value * | stripPointerCasts () const |
| Strip off pointer casts, all-zero GEPs, and aliases. More... | |
| Value * | stripPointerCasts () |
| const Value * | stripPointerCastsAndInvariantGroups () const |
| Strip off pointer casts, all-zero GEPs, aliases and invariant group info. More... | |
| Value * | stripPointerCastsAndInvariantGroups () |
| const Value * | stripPointerCastsNoFollowAliases () const |
| Strip off pointer casts and all-zero GEPs. More... | |
| Value * | stripPointerCastsNoFollowAliases () |
| const Value * | stripInBoundsConstantOffsets () const |
| Strip off pointer casts and all-constant inbounds GEPs. More... | |
| Value * | stripInBoundsConstantOffsets () |
| const Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const |
| Accumulate offsets from stripInBoundsConstantOffsets(). More... | |
| Value * | stripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) |
| const Value * | stripInBoundsOffsets () const |
| Strip off pointer casts and inbounds GEPs. More... | |
| Value * | stripInBoundsOffsets () |
| uint64_t | getPointerDereferenceableBytes (const DataLayout &DL, bool &CanBeNull) const |
| Returns the number of bytes known to be dereferenceable for the pointer value. More... | |
| unsigned | getPointerAlignment (const DataLayout &DL) const |
| Returns an alignment of the pointer value. More... | |
| const Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const |
| Translate PHI node to its predecessor from the given basic block. More... | |
| Value * | DoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) |
| void | mutateType (Type *Ty) |
| Mutate the type of this Value to be of the specified type. More... | |
| template<class Compare > | |
| void | sortUseList (Compare Cmp) |
| Sort the use-list. More... | |
| void | reverseUseList () |
| Reverse the use-list. More... | |
| void | print (raw_ostream &O, bool IsForDebug=false) const |
| Implement operator<< on Value. More... | |
| void | print (raw_ostream &O, ModuleSlotTracker &MST, bool IsForDebug=false) const |
| void | printAsOperand (raw_ostream &O, bool PrintType=true, const Module *M=nullptr) const |
| Print the name of this Value out to the specified raw_ostream. More... | |
| void | printAsOperand (raw_ostream &O, bool PrintType, ModuleSlotTracker &MST) const |
Additional Inherited Members | |
Public Types inherited from llvm::User | |
| using | op_iterator = Use * |
| using | const_op_iterator = const Use * |
| using | op_range = iterator_range< op_iterator > |
| using | const_op_range = iterator_range< const_op_iterator > |
Public Types inherited from llvm::Value | |
| enum | ValueTy |
| Concrete subclass of this. More... | |
| using | use_iterator = use_iterator_impl< Use > |
| using | const_use_iterator = use_iterator_impl< const Use > |
| using | user_iterator = user_iterator_impl< User > |
| using | const_user_iterator = user_iterator_impl< const User > |
Static Public Member Functions inherited from llvm::ConstantExpr | |
| static Constant * | getAlignOf (Type *Ty) |
| getAlignOf constant expr - computes the alignment of a type in a target independent way (Note: the return type is an i64). More... | |
| static Constant * | getSizeOf (Type *Ty) |
| getSizeOf constant expr - computes the (alloc) size of a type (in address-units, not bits) in a target independent way (Note: the return type is an i64). More... | |
| static Constant * | getOffsetOf (StructType *STy, unsigned FieldNo) |
| getOffsetOf constant expr - computes the offset of a struct field in a target independent way (Note: the return type is an i64). More... | |
| static Constant * | getOffsetOf (Type *Ty, Constant *FieldNo) |
| getOffsetOf constant expr - This is a generalized form of getOffsetOf, which supports any aggregate type, and any Constant index. More... | |
| 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, bool OnlyIfReduced=false) |
| static Constant * | getSExt (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getZExt (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getFPTrunc (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getFPExtend (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getUIToFP (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getSIToFP (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getFPToUI (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getFPToSI (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getPtrToInt (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getIntToPtr (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getBitCast (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| static Constant * | getAddrSpaceCast (Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| 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, bool AllowRHSConstant=false) |
| Return the identity constant for a binary opcode. More... | |
| static Constant * | getBinOpAbsorber (unsigned Opcode, Type *Ty) |
| Return the absorbing element for the given binary operation, i.e. More... | |
| static Constant * | getCast (unsigned ops, Constant *C, Type *Ty, bool OnlyIfReduced=false) |
| Convenience function for getting a Cast operation. More... | |
| 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, AddrSpaceCast, or a PtrToInt cast constant expression. More... | |
| static Constant * | getPointerBitCastOrAddrSpaceCast (Constant *C, Type *Ty) |
| Create a BitCast or AddrSpaceCast for a pointer type depending on the address space. 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, Type *OnlyIfReducedTy=nullptr) |
| Select constant expr. More... | |
| static Constant * | get (unsigned Opcode, Constant *C1, unsigned Flags=0, Type *OnlyIfReducedTy=nullptr) |
| get - Return a unary operator constant expression, folding if possible. More... | |
| static Constant * | get (unsigned Opcode, Constant *C1, Constant *C2, unsigned Flags=0, Type *OnlyIfReducedTy=nullptr) |
| get - Return a binary or shift operator constant expression, folding if possible. More... | |
| static Constant * | getCompare (unsigned short pred, Constant *C1, Constant *C2, bool OnlyIfReduced=false) |
| Return an ICmp or FCmp comparison operator constant expression. More... | |
| static Constant * | getICmp (unsigned short pred, Constant *LHS, Constant *RHS, bool OnlyIfReduced=false) |
| get* - Return some common constants without having to specify the full Instruction::OPCODE identifier. More... | |
| static Constant * | getFCmp (unsigned short pred, Constant *LHS, Constant *RHS, bool OnlyIfReduced=false) |
| static Constant * | getGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList, bool InBounds=false, Optional< unsigned > InRangeIndex=None, Type *OnlyIfReducedTy=nullptr) |
| Getelementptr form. More... | |
| static Constant * | getGetElementPtr (Type *Ty, Constant *C, Constant *Idx, bool InBounds=false, Optional< unsigned > InRangeIndex=None, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList, bool InBounds=false, Optional< unsigned > InRangeIndex=None, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) |
| Create an "inbounds" getelementptr. More... | |
| static Constant * | getInBoundsGetElementPtr (Type *Ty, Constant *C, Constant *Idx) |
| static Constant * | getInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) |
| static Constant * | getExtractElement (Constant *Vec, Constant *Idx, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getInsertElement (Constant *Vec, Constant *Elt, Constant *Idx, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getShuffleVector (Constant *V1, Constant *V2, Constant *Mask, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getExtractValue (Constant *Agg, ArrayRef< unsigned > Idxs, Type *OnlyIfReducedTy=nullptr) |
| static Constant * | getInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > Idxs, Type *OnlyIfReducedTy=nullptr) |
| static bool | classof (const Value *V) |
| Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
Static Public Member Functions inherited from llvm::Constant | |
| static bool | classof (const Value *V) |
| static Constant * | getNullValue (Type *Ty) |
| Constructor to create a '0' constant of arbitrary type. More... | |
| static Constant * | getAllOnesValue (Type *Ty) |
| static Constant * | getIntegerValue (Type *Ty, const APInt &V) |
| Return the value for an integer or pointer constant, or a vector thereof, with the given scalar value. More... | |
Static Public Member Functions inherited from llvm::User | |
| static bool | classof (const Value *V) |
Static Public Attributes inherited from llvm::Value | |
| static const unsigned | MaxAlignmentExponent = 29 |
| The maximum alignment for instructions. More... | |
| static const unsigned | MaximumAlignment = 1u << MaxAlignmentExponent |
Protected Types inherited from llvm::Value | |
| enum | : unsigned { NumUserOperandsBits = 28 } |
| The number of operands in the subclass. More... | |
Protected Member Functions inherited from llvm::ConstantExpr | |
| ConstantExpr (Type *ty, unsigned Opcode, Use *Ops, unsigned NumOps) | |
Protected Member Functions inherited from llvm::Constant | |
| Constant (Type *ty, ValueTy vty, Use *Ops, unsigned NumOps) | |
Protected Member Functions inherited from llvm::User | |
| void * | operator new (size_t Size) |
| Allocate a User with an operand pointer co-allocated. More... | |
| void * | operator new (size_t Size, unsigned Us) |
| Allocate a User with the operands co-allocated. More... | |
| void * | operator new (size_t Size, unsigned Us, unsigned DescBytes) |
| Allocate a User with the operands co-allocated. More... | |
| User (Type *ty, unsigned vty, Use *, unsigned NumOps) | |
| void | allocHungoffUses (unsigned N, bool IsPhi=false) |
| Allocate the array of Uses, followed by a pointer (with bottom bit set) to the User. More... | |
| void | growHungoffUses (unsigned N, bool IsPhi=false) |
| Grow the number of hung off uses. More... | |
| ~User ()=default | |
| template<int Idx> | |
| Use & | Op () |
| template<int Idx> | |
| const Use & | Op () const |
Protected Member Functions inherited from llvm::Value | |
| Value (Type *Ty, unsigned scid) | |
| ~Value () | |
| Value's destructor should be virtual by design, but that would require that Value and all of its subclasses have a vtable that effectively duplicates the information in the value ID. More... | |
| unsigned short | getSubclassDataFromValue () const |
| void | setValueSubclassData (unsigned short D) |
Static Protected Member Functions inherited from llvm::User | |
| template<int Idx, typename U > | |
| static Use & | OpFrom (const U *that) |
Protected Attributes inherited from llvm::Value | |
| unsigned char | SubclassOptionalData: 7 |
| Hold subclass data that can be dropped. More... | |
| unsigned | NumUserOperands: NumUserOperandsBits |
| unsigned | IsUsedByMD: 1 |
| unsigned | HasName: 1 |
| unsigned | HasHungOffUses: 1 |
| unsigned | HasDescriptor: 1 |
ExtractElementConstantExpr - This class is private to Constants.cpp, and is used behind the scenes to implement extractelement constant exprs.
Definition at line 105 of file ConstantsContext.h.
|
inline |
Definition at line 107 of file ConstantsContext.h.
| llvm::ExtractElementConstantExpr::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
|
inline |
Definition at line 115 of file ConstantsContext.h.
References llvm::UnaryConstantExpr::DECLARE_TRANSPARENT_OPERAND_ACCESSORS().
1.8.13