LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| ICmpInst (Predicate pred, Value *LHS, Value *RHS, const std::string &NameStr="", Instruction *InsertBefore=0) | |
| Constructor with insert-before-instruction semantics. | |
| ICmpInst (Predicate pred, Value *LHS, Value *RHS, const std::string &NameStr, BasicBlock *InsertAtEnd) | |
| Constructor with insert-at-block-end semantics. | |
| Predicate | getSignedPredicate () const |
| Return the signed version of the predicate. | |
| Predicate | getUnsignedPredicate () const |
| Return the unsigned version of the predicate. | |
| bool | isEquality () const |
| bool | isCommutative () const |
| Determine if this relation is commutative. | |
| bool | isRelational () const |
| bool | isSignedPredicate () const |
| Determine if this instruction's predicate is signed. | |
| bool | isTrueWhenEqual () |
| Determine if the ICmpInst returns true when both operands are equal. | |
| void | swapOperands () |
| Swap operands and adjust predicate. | |
| virtual ICmpInst * | clone () const |
Static Public Member Functions | |
| static Predicate | getSignedPredicate (Predicate pred) |
| Return the signed version of the predicate. | |
| static Predicate | getUnsignedPredicate (Predicate pred) |
| Return the unsigned version of the predicate. | |
| static bool | isEquality (Predicate P) |
| static bool | isRelational (Predicate P) |
| static bool | isSignedPredicate (Predicate pred) |
| Determine if the predicate is signed. | |
| static bool | isTrueWhenEqual (ICmpInst::Predicate pred) |
| Determine if the icmp is true when both operands are equal. | |
| static ConstantRange | makeConstantRange (Predicate pred, const APInt &C) |
| Make a ConstantRange for a relation with a constant value. | |
| static bool | classof (const ICmpInst *) |
| static bool | classof (const Instruction *I) |
| Methods for support type inquiry through isa, cast, and dyn_cast:. | |
| static bool | classof (const Value *V) |
This instruction compares its operands according to the predicate given to the constructor. It only operates on integers or pointers. The operands must be identical types.
Definition at line 617 of file Instructions.h.
| llvm::ICmpInst::ICmpInst | ( | Predicate | pred, | |
| Value * | LHS, | |||
| Value * | RHS, | |||
| const std::string & | NameStr = "", |
|||
| Instruction * | InsertBefore = 0 | |||
| ) | [inline] |
Constructor with insert-before-instruction semantics.
| pred | The predicate to use for the comparison |
| LHS | The left-hand-side of the expression |
| RHS | The right-hand-side of the expression |
| NameStr | Name of the instruction |
| InsertBefore | Where to insert |
Definition at line 620 of file Instructions.h.
References llvm::CmpInst::FIRST_ICMP_PREDICATE, llvm::Intrinsic::getType(), and llvm::CmpInst::LAST_ICMP_PREDICATE.
Referenced by clone().
| llvm::ICmpInst::ICmpInst | ( | Predicate | pred, | |
| Value * | LHS, | |||
| Value * | RHS, | |||
| const std::string & | NameStr, | |||
| BasicBlock * | InsertAtEnd | |||
| ) | [inline] |
Constructor with insert-at-block-end semantics.
| pred | The predicate to use for the comparison |
| LHS | The left-hand-side of the expression |
| RHS | The right-hand-side of the expression |
| NameStr | Name of the instruction |
| InsertAtEnd | Block to insert into. |
Definition at line 641 of file Instructions.h.
References llvm::CmpInst::FIRST_ICMP_PREDICATE, llvm::Intrinsic::getType(), and llvm::CmpInst::LAST_ICMP_PREDICATE.
| Predicate llvm::ICmpInst::getSignedPredicate | ( | ) | const [inline] |
Return the signed version of the predicate.
For example, EQ->EQ, SLE->SLE, UGT->SGT, etc.
Definition at line 665 of file Instructions.h.
| ICmpInst::Predicate ICmpInst::getSignedPredicate | ( | Predicate | pred | ) | [static] |
Return the signed version of the predicate.
This is a static version that you can use without an instruction.
Definition at line 2612 of file Instructions.cpp.
References llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
| Predicate llvm::ICmpInst::getUnsignedPredicate | ( | ) | const [inline] |
Return the unsigned version of the predicate.
For example, EQ->EQ, SLE->ULE, UGT->UGT, etc.
Definition at line 677 of file Instructions.h.
| ICmpInst::Predicate ICmpInst::getUnsignedPredicate | ( | Predicate | pred | ) | [static] |
Return the unsigned version of the predicate.
This is a static version that you can use without an instruction.
Definition at line 2625 of file Instructions.cpp.
References llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
| static bool llvm::ICmpInst::isEquality | ( | Predicate | P | ) | [inline, static] |
isEquality - Return true if this predicate is either EQ or NE. This also tests for commutativity.
Definition at line 687 of file Instructions.h.
| bool llvm::ICmpInst::isEquality | ( | ) | const [inline] |
isEquality - Return true if this predicate is either EQ or NE. This also tests for commutativity.
Definition at line 693 of file Instructions.h.
| bool llvm::ICmpInst::isCommutative | ( | ) | const [inline] |
Determine if this relation is commutative.
Reimplemented from llvm::Instruction.
Definition at line 699 of file Instructions.h.
| bool llvm::ICmpInst::isRelational | ( | ) | const [inline] |
isRelational - Return true if the predicate is relational (not EQ or NE).
Definition at line 703 of file Instructions.h.
| static bool llvm::ICmpInst::isRelational | ( | Predicate | P | ) | [inline, static] |
isRelational - Return true if the predicate is relational (not EQ or NE).
Definition at line 709 of file Instructions.h.
| bool llvm::ICmpInst::isSignedPredicate | ( | ) | const [inline] |
Determine if this instruction's predicate is signed.
Definition at line 715 of file Instructions.h.
| bool ICmpInst::isSignedPredicate | ( | Predicate | pred | ) | [static] |
Determine if the predicate is signed.
Definition at line 2638 of file Instructions.cpp.
References llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
| static bool llvm::ICmpInst::isTrueWhenEqual | ( | ICmpInst::Predicate | pred | ) | [inline, static] |
Determine if the icmp is true when both operands are equal.
Definition at line 724 of file Instructions.h.
References llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_UGE, and llvm::CmpInst::ICMP_ULE.
| bool llvm::ICmpInst::isTrueWhenEqual | ( | ) | [inline] |
Determine if the ICmpInst returns true when both operands are equal.
Definition at line 733 of file Instructions.h.
References llvm::ISD::isTrueWhenEqual().
| ConstantRange ICmpInst::makeConstantRange | ( | Predicate | pred, | |
| const APInt & | C | |||
| ) | [static] |
Make a ConstantRange for a relation with a constant value.
Initialize a set of values that all satisfy the predicate with C.
Initialize a set of values that all satisfy the condition with C.
Definition at line 2652 of file Instructions.cpp.
References llvm::APInt::getBitWidth(), llvm::APInt::getMinValue(), llvm::APInt::getSignedMinValue(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
| void llvm::ICmpInst::swapOperands | ( | ) | [inline] |
Swap operands and adjust predicate.
Exchange the two operands to this instruction in such a way that it does not modify the semantics of the instruction. The predicate value may be changed to retain the same result if the predicate is order dependent (e.g. ult).
Reimplemented from llvm::CmpInst.
Definition at line 746 of file Instructions.h.
References llvm::swap().
| ICmpInst * ICmpInst::clone | ( | ) | const [virtual] |
clone() - Create a copy of 'this' instruction that is identical in all ways except the following: The instruction has no parent The instruction has no name
Implements llvm::Instruction.
Definition at line 2892 of file Instructions.cpp.
References llvm::CmpInst::getPredicate(), and ICmpInst().
| static bool llvm::ICmpInst::classof | ( | const ICmpInst * | ) | [inline, static] |
Definition at line 754 of file Instructions.h.
| static bool llvm::ICmpInst::classof | ( | const Instruction * | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::CmpInst.
Definition at line 755 of file Instructions.h.
References llvm::Instruction::getOpcode().
| static bool llvm::ICmpInst::classof | ( | const Value * | V | ) | [inline, static] |
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.