Home | History | Annotate | Download | only in IR

Lines Matching refs:FCmpInst

1264 /// each other, we should return the corresponding FCmpInst predicate, 
1265 /// otherwise return FCmpInst::BAD_FCMP_PREDICATE. This is used below in
1271 static FCmpInst::Predicate evaluateFCmpRelation(Constant *V1, Constant *V2) {
1276 if (V1 == V2) return FCmpInst::FCMP_OEQ;
1283 ConstantExpr::getFCmp(FCmpInst::FCMP_OEQ, V1, V2));
1285 return FCmpInst::FCMP_OEQ;
1287 ConstantExpr::getFCmp(FCmpInst::FCMP_OLT, V1, V2));
1289 return FCmpInst::FCMP_OLT;
1291 ConstantExpr::getFCmp(FCmpInst::FCMP_OGT, V1, V2));
1293 return FCmpInst::FCMP_OGT;
1296 return FCmpInst::BAD_FCMP_PREDICATE;
1300 FCmpInst::Predicate SwappedRelation = evaluateFCmpRelation(V2, V1);
1301 if (SwappedRelation != FCmpInst::BAD_FCMP_PREDICATE)
1302 return FCmpInst::getSwappedPredicate(SwappedRelation);
1320 return FCmpInst::BAD_FCMP_PREDICATE;
1580 if (pred == FCmpInst::FCMP_FALSE)
1583 if (pred == FCmpInst::FCMP_TRUE)
1657 case FCmpInst::FCMP_FALSE: return Constant::getNullValue(ResultTy);
1658 case FCmpInst::FCMP_TRUE: return Constant::getAllOnesValue(ResultTy);
1659 case FCmpInst::FCMP_UNO:
1661 case FCmpInst::FCMP_ORD:
1663 case FCmpInst::FCMP_UEQ:
1666 case FCmpInst::FCMP_OEQ:
1668 case FCmpInst::FCMP_UNE:
1670 case FCmpInst::FCMP_ONE:
1673 case FCmpInst::FCMP_ULT:
1676 case FCmpInst::FCMP_OLT:
1678 case FCmpInst::FCMP_UGT:
1681 case FCmpInst::FCMP_OGT:
1683 case FCmpInst::FCMP_ULE:
1685 case FCmpInst::FCMP_OLE:
1688 case FCmpInst::FCMP_UGE:
1690 case FCmpInst::FCMP_OGE:
1716 case FCmpInst::FCMP_UNO:
1717 case FCmpInst::FCMP_ORD:
1718 case FCmpInst::FCMP_UEQ:
1719 case FCmpInst::FCMP_UNE:
1720 case FCmpInst::FCMP_ULT:
1721 case FCmpInst::FCMP_UGT:
1722 case FCmpInst::FCMP_ULE:
1723 case FCmpInst::FCMP_UGE:
1724 case FCmpInst::FCMP_TRUE:
1725 case FCmpInst::FCMP_FALSE:
1726 case FCmpInst::BAD_FCMP_PREDICATE:
1728 case FCmpInst::FCMP_OEQ: // We know that C1 == C2
1729 Result = (pred == FCmpInst::FCMP_UEQ || pred == FCmpInst::FCMP_OEQ ||
1730 pred == FCmpInst::FCMP_ULE || pred == FCmpInst::FCMP_OLE ||
1731 pred == FCmpInst::FCMP_UGE || pred == FCmpInst::FCMP_OGE);
1733 case FCmpInst::FCMP_OLT: // We know that C1 < C2
1734 Result = (pred == FCmpInst::FCMP_UNE || pred == FCmpInst::FCMP_ONE ||
1735 pred == FCmpInst::FCMP_ULT || pred == FCmpInst::FCMP_OLT ||
1736 pred == FCmpInst::FCMP_ULE || pred == FCmpInst::FCMP_OLE);
1738 case FCmpInst::FCMP_OGT: // We know that C1 > C2
1739 Result = (pred == FCmpInst::FCMP_UNE || pred == FCmpInst::FCMP_ONE ||
1740 pred == FCmpInst::FCMP_UGT || pred == FCmpInst::FCMP_OGT ||
1741 pred == FCmpInst::FCMP_UGE || pred == FCmpInst::FCMP_OGE);
1743 case FCmpInst::FCMP_OLE: // We know that C1 <= C2
1745 if (pred == FCmpInst::FCMP_UGT || pred == FCmpInst::FCMP_OGT)
1747 else if (pred == FCmpInst::FCMP_ULT || pred == FCmpInst::FCMP_OLT)
1750 case FCmpInst::FCMP_OGE: // We known that C1 >= C2
1752 if (pred == FCmpInst::FCMP_ULT || pred == FCmpInst::FCMP_OLT)
1754 else if (pred == FCmpInst::FCMP_UGT || pred == FCmpInst::FCMP_OGT)
1757 case FCmpInst::FCMP_ONE: // We know that C1 != C2
1759 if (pred == FCmpInst::FCMP_OEQ || pred == FCmpInst::FCMP_UEQ)
1761 else if (pred == FCmpInst::FCMP_ONE || pred == FCmpInst::FCMP_UNE)