static Type * makeCmpResultType(Type *opnd_type)
Create a result type for fcmp/icmp.
unsigned getICmpCode(const ICmpInst *ICI, bool InvertPred=false)
getICmpCode - Encode a icmp predicate into a three bit mask.
Predicate getInversePredicate() const
For example, EQ -> NE, UGT -> ULE, SLT -> SGE, OEQ -> UNE, UGT -> OLE, OLT -> UGE, etc.
bool isSigned() const
Determine if this instruction is using a signed comparison.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
bool isEquality() const
isEquality - Return true if this predicate is either EQ or NE.
This file contains the declarations for the subclasses of Constant, which represent the different fla...
This instruction compares its operands according to the predicate given to the constructor.
Predicate
This enumeration lists the possible predicates for CmpInst subclasses.
Predicate getPredicate() const
Return the predicate for this instruction.
Type * getType() const
All values are typed, get the type of this value.
static Constant * get(Type *Ty, uint64_t V, bool isSigned=false)
If Ty is a vector type, return a Constant with a splat of the given value.
bool PredicatesFoldable(CmpInst::Predicate p1, CmpInst::Predicate p2)
PredicatesFoldable - Return true if both predicates match sign or if at least one of them is an equal...
Value * getICmpValue(bool Sign, unsigned Code, Value *LHS, Value *RHS, CmpInst::Predicate &NewICmpPred)
getICmpValue - This is the complement of getICmpCode, which turns an opcode and two operands into eit...
unsigned greater or equal
LLVM Value Representation.