LLVM
8.0.1
|
This is a utility class that provides an abstraction for the common functionality between Instructions and ConstantExprs. More...
#include "llvm/IR/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 bool | classof (const Value *V) |
Additional Inherited Members | |
![]() | |
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 > |
![]() | |
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 const unsigned | MaxAlignmentExponent = 29 |
The maximum alignment for instructions. More... | |
static const unsigned | MaximumAlignment = 1u << MaxAlignmentExponent |
![]() | |
enum | : unsigned { NumUserOperandsBits = 28 } |
The number of operands in the subclass. More... | |
![]() | |
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 |
![]() | |
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) |
![]() | |
template<int Idx, typename U > | |
static Use & | OpFrom (const U *that) |
![]() | |
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 31 of file Operator.h.
|
delete |
|
delete |
|
inlinestatic |
Definition at line 57 of file Operator.h.
Referenced by llvm::OverflowingBinaryOperator::classof(), llvm::PossiblyExactOperator::classof(), and llvm::ConcreteOperator< Operator, Instruction::PtrToInt >::classof().
|
inlinestatic |
Definition at line 58 of file Operator.h.
Definition at line 59 of file Operator.h.
|
inline |
Return the opcode for this Instruction or ConstantExpr.
Definition at line 41 of file Operator.h.
References I.
Referenced by cannotBeOrderedLessThanZeroImpl(), cloneConstantExprWithNewAddressSpace(), computeKnownBitsFromOperator(), llvm::ComputeMultiple(), ComputeNumSignBitsImpl(), llvm::ComputeSpeculationCost(), getAdjustedPtr(), getBrevLdObject(), getMaxPointerSize(), llvm::GlobalsAAResult::getModRefBehavior(), llvm::GetPointerBaseWithConstantOffset(), getPointerOperands(), getRangeForAffineARHelper(), llvm::GetUnderlyingObject(), getUnderlyingObjectFromInt(), llvm::getUnderlyingObjectsForCodeGen(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getUserCost(), isPointerValueDeadOnEntryToFunction(), llvm::isSafeToSpeculativelyExecute(), mergeConditionalStoreToAddress(), PushDefUseChildren(), llvm::recognizeBSwapOrBitReverseIdiom(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), and stripAndComputeConstantOffsets().
If V is an Instruction or ConstantExpr, return its opcode.
Otherwise return UserOp1.
Definition at line 49 of file Operator.h.
References I.
|
delete |