|
LLVM
4.0.0
|
This is a utility class that provides an abstraction for the common functionality between Instructions and ConstantExprs. More...
#include <Operator.h>
Static Public Member Functions | |
| static unsigned | getOpcode (const Value *V) |
| If V is an Instruction or ConstantExpr, return its opcode. More... | |
| static bool | classof (const Instruction *) |
| static bool | classof (const ConstantExpr *) |
| static bool | classof (const Value *V) |
Static Public Member Functions inherited from llvm::User | |
| static bool | classof (const Value *V) |
Protected Member Functions | |
| ~Operator () override | |
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... | |
| template<int Idx> | |
| Use & | Op () |
| template<int Idx> | |
| const Use & | Op () const |
Protected Member Functions inherited from llvm::Value | |
| Value (Type *Ty, unsigned scid) | |
| unsigned short | getSubclassDataFromValue () const |
| void | setValueSubclassData (unsigned short D) |
Additional Inherited Members | |
Public Types inherited from llvm::User | |
| typedef Use * | op_iterator |
| typedef const Use * | const_op_iterator |
| typedef iterator_range < op_iterator > | op_range |
| typedef iterator_range < const_op_iterator > | const_op_range |
Public Types inherited from llvm::Value | |
| enum | ValueTy |
| Concrete subclass of this. More... | |
| typedef use_iterator_impl< Use > | use_iterator |
| typedef use_iterator_impl < const Use > | const_use_iterator |
| typedef user_iterator_impl< User > | user_iterator |
| typedef user_iterator_impl < const User > | const_user_iterator |
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... | |
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 |
This is a utility class that provides an abstraction for the common functionality between Instructions and ConstantExprs.
Definition at line 33 of file Operator.h.
|
overrideprotected |
Definition at line 200 of file User.cpp.
References llvm_unreachable.
|
delete |
|
inlinestatic |
Definition at line 65 of file Operator.h.
|
inlinestatic |
Definition at line 66 of file Operator.h.
Definition at line 67 of file Operator.h.
|
inline |
Return the opcode for this Instruction or ConstantExpr.
Definition at line 49 of file Operator.h.
References I.
Referenced by llvm::CannotBeNegativeZero(), cannotBeOrderedLessThanZeroImpl(), computeKnownBitsFromOperator(), llvm::ComputeMultiple(), ComputeNumSignBits(), llvm::ComputeSpeculationCost(), llvm::GetPointerBaseWithConstantOffset(), getPointerOperands(), llvm::GetUnderlyingObject(), getUnderlyingObjectFromInt(), getUnderlyingObjects(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getUserCost(), isPointerValueDeadOnEntryToFunction(), llvm::isSafeToSpeculativelyExecute(), MatchBinaryOp(), mergeConditionalStoreToAddress(), llvm::recognizeBSwapOrBitReverseIdiom(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), and stripAndComputeConstantOffsets().
If V is an Instruction or ConstantExpr, return its opcode.
Otherwise return UserOp1.
Definition at line 57 of file Operator.h.
References I.
|
delete |
|
delete |
1.8.6