LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
llvm::CompareConstantExpr Class Reference

#include <ConstantsContext.h>

Inheritance diagram for llvm::CompareConstantExpr:
Inheritance graph
[legend]
Collaboration diagram for llvm::CompareConstantExpr:
Collaboration graph
[legend]

Public Member Functions

void * operator new (size_t s)
 
 CompareConstantExpr (Type *ty, Instruction::OtherOps opc, unsigned short pred, Constant *LHS, Constant *RHS)
 
 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. 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< unsignedgetIndices () const
 
const char * getOpcodeName () const
 getOpcodeName - Return a string representation for an opcode. More...
 
ConstantgetWithOperandReplaced (unsigned OpNo, Constant *Op) const
 
ConstantgetWithOperands (ArrayRef< Constant * > Ops) const
 
ConstantgetWithOperands (ArrayRef< Constant * > Ops, Type *Ty) const
 
InstructiongetAsInstruction ()
 
virtual void destroyConstant ()
 
virtual void replaceUsesOfWithOnConstant (Value *From, Value *To, Use *U)
 
- Public Member Functions inherited from llvm::Constant
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
 
ConstantgetAggregateElement (unsigned Elt) const
 
ConstantgetAggregateElement (Constant *Elt) const
 
ConstantgetSplatValue () const
 
const APIntgetUniqueInteger () const
 
void removeDeadConstantUsers () const
 
- Public Member Functions inherited from llvm::User
 ~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...
 
ValuegetOperand (unsigned i) const
 
void setOperand (unsigned i, Value *Val)
 
const UsegetOperandUse (unsigned i) const
 
UsegetOperandUse (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)
 
- Public Member Functions inherited from llvm::Value
virtual ~Value ()
 
void dump () const
 dump - Support for debugging, callable in GDB: V->dump() More...
 
void print (raw_ostream &O, AssemblyAnnotationWriter *AAW=0) const
 
TypegetType () const
 
LLVMContextgetContext () const
 All values hold a context through their type. More...
 
bool hasName () const
 
ValueNamegetValueName () 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
 
Useruse_back ()
 
const Useruse_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
 
ValuestripPointerCasts ()
 Strips off any unneeded pointer casts, all-zero GEPs and aliases from the specified value, returning the original uncasted value. More...
 
const ValuestripPointerCasts () const
 
ValuestripPointerCastsNoFollowAliases ()
 Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. More...
 
const ValuestripPointerCastsNoFollowAliases () const
 
ValuestripInBoundsConstantOffsets ()
 Strips off unneeded pointer casts and all-constant GEPs from the specified value, returning the original pointer value. More...
 
const ValuestripInBoundsConstantOffsets () const
 
ValuestripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset)
 Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. More...
 
const ValuestripAndAccumulateInBoundsConstantOffsets (const DataLayout &DL, APInt &Offset) const
 
ValuestripInBoundsOffsets ()
 Strips off unneeded pointer casts and any in-bounds offsets from the specified value, returning the original pointer value. More...
 
const ValuestripInBoundsOffsets () const
 
bool isDereferenceablePointer () const
 
ValueDoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB)
 
const ValueDoPHITranslation (const BasicBlock *CurBB, const BasicBlock *PredBB) const
 
void mutateType (Type *Ty)
 

Public Attributes

unsigned short predicate
 

Additional Inherited Members

- Public Types inherited from llvm::Constant
enum  PossibleRelocationsTy { NoRelocation = 0, LocalRelocation = 1, GlobalRelocations = 2 }
 
- Public Types inherited from llvm::User
typedef Useop_iterator
 
typedef const Useconst_op_iterator
 
- Public Types inherited from llvm::Value
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< Useruse_iterator
 
typedef value_use_iterator
< const User
const_use_iterator
 
- Static Public Member Functions inherited from llvm::ConstantExpr
static ConstantgetAlignOf (Type *Ty)
 
static ConstantgetSizeOf (Type *Ty)
 
static ConstantgetOffsetOf (StructType *STy, unsigned FieldNo)
 
static ConstantgetOffsetOf (Type *Ty, Constant *FieldNo)
 
static ConstantgetNeg (Constant *C, bool HasNUW=false, bool HasNSW=false)
 
static ConstantgetFNeg (Constant *C)
 
static ConstantgetNot (Constant *C)
 
static ConstantgetAdd (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false)
 
static ConstantgetFAdd (Constant *C1, Constant *C2)
 
static ConstantgetSub (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false)
 
static ConstantgetFSub (Constant *C1, Constant *C2)
 
static ConstantgetMul (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false)
 
static ConstantgetFMul (Constant *C1, Constant *C2)
 
static ConstantgetUDiv (Constant *C1, Constant *C2, bool isExact=false)
 
static ConstantgetSDiv (Constant *C1, Constant *C2, bool isExact=false)
 
static ConstantgetFDiv (Constant *C1, Constant *C2)
 
static ConstantgetURem (Constant *C1, Constant *C2)
 
static ConstantgetSRem (Constant *C1, Constant *C2)
 
static ConstantgetFRem (Constant *C1, Constant *C2)
 
static ConstantgetAnd (Constant *C1, Constant *C2)
 
static ConstantgetOr (Constant *C1, Constant *C2)
 
static ConstantgetXor (Constant *C1, Constant *C2)
 
static ConstantgetShl (Constant *C1, Constant *C2, bool HasNUW=false, bool HasNSW=false)
 
static ConstantgetLShr (Constant *C1, Constant *C2, bool isExact=false)
 
static ConstantgetAShr (Constant *C1, Constant *C2, bool isExact=false)
 
static ConstantgetTrunc (Constant *C, Type *Ty)
 
static ConstantgetSExt (Constant *C, Type *Ty)
 
static ConstantgetZExt (Constant *C, Type *Ty)
 
static ConstantgetFPTrunc (Constant *C, Type *Ty)
 
static ConstantgetFPExtend (Constant *C, Type *Ty)
 
static ConstantgetUIToFP (Constant *C, Type *Ty)
 
static ConstantgetSIToFP (Constant *C, Type *Ty)
 
static ConstantgetFPToUI (Constant *C, Type *Ty)
 
static ConstantgetFPToSI (Constant *C, Type *Ty)
 
static ConstantgetPtrToInt (Constant *C, Type *Ty)
 
static ConstantgetIntToPtr (Constant *C, Type *Ty)
 
static ConstantgetBitCast (Constant *C, Type *Ty)
 
static ConstantgetAddrSpaceCast (Constant *C, Type *Ty)
 
static ConstantgetNSWNeg (Constant *C)
 
static ConstantgetNUWNeg (Constant *C)
 
static ConstantgetNSWAdd (Constant *C1, Constant *C2)
 
static ConstantgetNUWAdd (Constant *C1, Constant *C2)
 
static ConstantgetNSWSub (Constant *C1, Constant *C2)
 
static ConstantgetNUWSub (Constant *C1, Constant *C2)
 
static ConstantgetNSWMul (Constant *C1, Constant *C2)
 
static ConstantgetNUWMul (Constant *C1, Constant *C2)
 
static ConstantgetNSWShl (Constant *C1, Constant *C2)
 
static ConstantgetNUWShl (Constant *C1, Constant *C2)
 
static ConstantgetExactSDiv (Constant *C1, Constant *C2)
 
static ConstantgetExactUDiv (Constant *C1, Constant *C2)
 
static ConstantgetExactAShr (Constant *C1, Constant *C2)
 
static ConstantgetExactLShr (Constant *C1, Constant *C2)
 
static ConstantgetBinOpIdentity (unsigned Opcode, Type *Ty)
 
static ConstantgetBinOpAbsorber (unsigned Opcode, Type *Ty)
 
static ConstantgetCast (unsigned ops, Constant *C, Type *Ty)
 
static ConstantgetZExtOrBitCast (Constant *C, Type *Ty)
 
static ConstantgetSExtOrBitCast (Constant *C, Type *Ty)
 
static ConstantgetTruncOrBitCast (Constant *C, Type *Ty)
 
static ConstantgetPointerCast (Constant *C, Type *Ty)
 Create a BitCast or a PtrToInt cast constant expression. More...
 
static ConstantgetIntegerCast (Constant *C, Type *Ty, bool isSigned)
 Create a ZExt, Bitcast or Trunc for integer -> integer casts. More...
 
static ConstantgetFPCast (Constant *C, Type *Ty)
 Create a FPExt, Bitcast or FPTrunc for fp -> fp casts. More...
 
static ConstantgetSelect (Constant *C, Constant *V1, Constant *V2)
 
static Constantget (unsigned Opcode, Constant *C1, Constant *C2, unsigned Flags=0)
 
static ConstantgetCompare (unsigned short pred, Constant *C1, Constant *C2)
 Return an ICmp or FCmp comparison operator constant expression. More...
 
static ConstantgetICmp (unsigned short pred, Constant *LHS, Constant *RHS)
 
static ConstantgetFCmp (unsigned short pred, Constant *LHS, Constant *RHS)
 
static ConstantgetGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList, bool InBounds=false)
 
static ConstantgetGetElementPtr (Constant *C, Constant *Idx, bool InBounds=false)
 
static ConstantgetGetElementPtr (Constant *C, ArrayRef< Value * > IdxList, bool InBounds=false)
 
static ConstantgetInBoundsGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList)
 
static ConstantgetInBoundsGetElementPtr (Constant *C, Constant *Idx)
 
static ConstantgetInBoundsGetElementPtr (Constant *C, ArrayRef< Value * > IdxList)
 
static ConstantgetExtractElement (Constant *Vec, Constant *Idx)
 
static ConstantgetInsertElement (Constant *Vec, Constant *Elt, Constant *Idx)
 
static ConstantgetShuffleVector (Constant *V1, Constant *V2, Constant *Mask)
 
static ConstantgetExtractValue (Constant *Agg, ArrayRef< unsigned > Idxs)
 
static ConstantgetInsertValue (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 Public Member Functions inherited from llvm::Constant
static bool classof (const Value *V)
 
static ConstantgetNullValue (Type *Ty)
 
static ConstantgetAllOnesValue (Type *Ty)
 Get the all ones value. More...
 
static ConstantgetIntegerValue (Type *Ty, const APInt &V)
 
- Static Public Member Functions inherited from llvm::User
static bool classof (const Value *V)
 
- Static Public Attributes inherited from llvm::Value
static const unsigned MaximumAlignment = 1u << 29
 
- 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)
 
void destroyConstantImpl ()
 
- Protected Member Functions inherited from llvm::User
void * operator new (size_t s, unsigned Us)
 
 User (Type *ty, unsigned vty, Use *OpList, unsigned NumOps)
 
UseallocHungoffUses (unsigned) const
 
void dropHungoffUses ()
 
template<int Idx>
UseOp ()
 
template<int Idx>
const UseOp () const
 
- Protected Member Functions inherited from llvm::Value
virtual void printCustom (raw_ostream &O) const
 
 Value (Type *Ty, unsigned scid)
 
unsigned short getSubclassDataFromValue () const
 
void setValueSubclassData (unsigned short D)
 
- Static Protected Member Functions inherited from llvm::User
template<int Idx, typename U >
static UseOpFrom (const U *that)
 
- Protected Attributes inherited from llvm::User
UseOperandList
 
unsigned NumOperands
 
- Protected Attributes inherited from llvm::Value
unsigned char SubclassOptionalData: 7
 

Detailed Description

Definition at line 235 of file ConstantsContext.h.

Constructor & Destructor Documentation

llvm::CompareConstantExpr::CompareConstantExpr ( Type ty,
Instruction::OtherOps  opc,
unsigned short  pred,
Constant LHS,
Constant RHS 
)
inline

Definition at line 244 of file ConstantsContext.h.

Member Function Documentation

llvm::CompareConstantExpr::DECLARE_TRANSPARENT_OPERAND_ACCESSORS ( Value  )

Transparently provide more efficient getOperand methods.

void* llvm::CompareConstantExpr::operator new ( size_t  s)
inline

Definition at line 240 of file ConstantsContext.h.

Member Data Documentation

unsigned short llvm::CompareConstantExpr::predicate

Definition at line 243 of file ConstantsContext.h.


The documentation for this class was generated from the following files: