Lines Matching full:comparison

130     struct Comparison {  struct
148 assert ((!((Cmp & L) && (Cmp & G))) && "Malformed comparison operator"); in getSwappedComparison()
186 /// Return the comparison kind for the specified opcode.
187 Comparison::Kind getComparisonKind(unsigned CondOpc,
207 int64_t IVBump, Comparison::Kind Cmp) const;
280 /// The desired flow is: phi ---> bump -+-> comparison-in-latch.
289 /// +-> comparison-in-latch (against upper_bound-bump),
290 /// i.e. the comparison that controls the loop execution may be using
296 /// couldn't be identified, or if the value in the latch's comparison
483 // Exactly one of the input registers to the comparison should be among in findInductionRegister()
509 // Return the comparison kind for the specified opcode.
510 HexagonHardwareLoops::Comparison::Kind
515 Comparison::Kind Cmp = (Comparison::Kind)0; in getComparisonKind()
520 Cmp = Comparison::EQ; in getComparisonKind()
524 Cmp = Comparison::NE; in getComparisonKind()
527 Cmp = Comparison::LTs; in getComparisonKind()
530 Cmp = Comparison::LTu; in getComparisonKind()
534 Cmp = Comparison::LEs; in getComparisonKind()
538 Cmp = Comparison::LEu; in getComparisonKind()
543 Cmp = Comparison::GTs; in getComparisonKind()
548 Cmp = Comparison::GTu; in getComparisonKind()
551 Cmp = Comparison::GEs; in getComparisonKind()
554 Cmp = Comparison::GEs; in getComparisonKind()
557 return (Comparison::Kind)0; in getComparisonKind()
665 // The comparison operator type determines how we compute the loop in getLoopTripCount()
675 Comparison::Kind Cmp; in getLoopTripCount()
697 Cmp = Comparison::getNegatedComparison(Cmp); in getLoopTripCount()
699 Cmp = Comparison::getSwappedComparison(Cmp); in getLoopTripCount()
734 Comparison::Kind Cmp) const { in computeCount()
735 // Cannot handle comparison EQ, i.e. while (A == B). in computeCount()
736 if (Cmp == Comparison::EQ) in computeCount()
759 bool CmpLess = Cmp & Comparison::L; in computeCount()
760 bool CmpGreater = Cmp & Comparison::G; in computeCount()
761 bool CmpHasEqual = Cmp & Comparison::EQ; in computeCount()
792 if (Cmp == Comparison::NE) { in computeCount()
882 if (Cmp != Comparison::NE) { in computeCount()
1299 // The induction operation and the comparison may now be in convertToHardwareLoop()
1406 /// checks if the initial value is used in any comparison prior to the loop
1407 /// and, if so, assumes the comparison is a range check. This is inexact,
1463 Comparison::Kind Cmp = in loopCountMayWrapOrUnderFlow()
1468 Cmp = Comparison::getNegatedComparison(Cmp); in loopCountMayWrapOrUnderFlow()
1470 Cmp = Comparison::getSwappedComparison(Cmp); in loopCountMayWrapOrUnderFlow()
1473 if (Comparison::isSigned(Cmp)) in loopCountMayWrapOrUnderFlow()
1476 // Check if there is a comparison of the initial value. If the initial value in loopCountMayWrapOrUnderFlow()
1479 if ((Cmp & Comparison::G) || Cmp == Comparison::NE) in loopCountMayWrapOrUnderFlow()
1732 // This is a success. If the register used in the comparison is one that in fixupInductionVariable()
1785 // It is not valid to do this transformation on an unsigned comparison in fixupInductionVariable()
1787 Comparison::Kind Cmp = in fixupInductionVariable()
1789 if (!Cmp || Comparison::isUnsigned(Cmp)) in fixupInductionVariable()