Home | History | Annotate | Download | only in Hexagon

Lines Matching defs:Comparison

130     struct Comparison {
148 assert ((!((Cmp & L) && (Cmp & G))) && "Malformed comparison operator");
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
480 // Exactly one of the input registers to the comparison should be among
506 // Return the comparison kind for the specified opcode.
507 HexagonHardwareLoops::Comparison::Kind
512 Comparison::Kind Cmp = (Comparison::Kind)0;
517 Cmp = Comparison::EQ;
521 Cmp = Comparison::NE;
524 Cmp = Comparison::LTs;
527 Cmp = Comparison::LTu;
531 Cmp = Comparison::LEs;
535 Cmp = Comparison::LEu;
540 Cmp = Comparison::GTs;
545 Cmp = Comparison::GTu;
548 Cmp = Comparison::GEs;
551 Cmp = Comparison::GEs;
554 return (Comparison::Kind)0;
661 // The comparison operator type determines how we compute the loop
671 Comparison::Kind Cmp;
693 Cmp = Comparison::getNegatedComparison(Cmp);
695 Cmp = Comparison::getSwappedComparison(Cmp);
730 Comparison::Kind Cmp) const {
731 // Cannot handle comparison EQ, i.e. while (A == B).
732 if (Cmp == Comparison::EQ)
755 bool CmpLess = Cmp & Comparison::L;
756 bool CmpGreater = Cmp & Comparison::G;
757 bool CmpHasEqual = Cmp & Comparison::EQ;
788 if (Cmp == Comparison::NE) {
878 if (Cmp != Comparison::NE) {
1304 // The induction operation and the comparison may now be
1414 /// checks if the initial value is used in any comparison prior to the loop
1415 /// and, if so, assumes the comparison is a range check. This is inexact,
1471 Comparison::Kind Cmp =
1476 Cmp = Comparison::getNegatedComparison(Cmp);
1478 Cmp = Comparison::getSwappedComparison(Cmp);
1481 if (Comparison::isSigned(Cmp))
1484 // Check if there is a comparison of the initial value. If the initial value
1487 if ((Cmp & Comparison::G) || Cmp == Comparison::NE)
1605 // The rest of the comparison-with-immediate instructions are extendable.
1751 // This is a success. If the register used in the comparison is one that
1804 // It is not valid to do this transformation on an unsigned comparison
1806 Comparison::Kind Cmp =
1808 if (!Cmp || Comparison::isUnsigned(Cmp))