Home | History | Annotate | Download | only in SelectionDAG

Lines Matching defs:Overflow

430 /// Promote the overflow flag of an overflowing arithmetic node.
462 // Calculate the overflow flag: sign extend the arithmetic result from
469 // Use the calculated overflow everywhere.
627 // Calculate the overflow flag: zero extend the arithmetic result from
633 // Use the calculated overflow everywhere.
640 // Promote the overflow bit trivially.
650 // then also check the high bits of the result to see if overflow happened
662 // Overflow occurred if it occurred in the larger type, or if the high part
665 SDValue Overflow;
667 // Unsigned overflow occurred if the high part is non-zero.
670 Overflow = DAG.getSetCC(DL, N->getValueType(1), Hi,
673 // Signed overflow occurred if the high part does not sign extend the low.
676 Overflow = DAG.getSetCC(DL, N->getValueType(1), SExt, Mul, ISD::SETNE);
679 // The only other way for overflow to occur is if the multiplication in the
681 Overflow = DAG.getNode(ISD::OR, DL, N->getValueType(1), Overflow,
684 // Use the calculated overflow everywhere.
685 ReplaceValueWith(SDValue(N, 1), Overflow);
2010 // non-overflow-checking operation.
2016 // Compute the overflow.
2023 // Overflow -> (LHSSign == RHSSign) && (LHSSign != SumSign)
2025 // Overflow -> (LHSSign != RHSSign) && (LHSSign != SumSign)
2041 // Use the calculated overflow everywhere.
2261 // non-overflow-checking operation.
2267 // Calculate the overflow: addition overflows iff a + b < a, and subtraction
2273 // Use the calculated overflow everywhere.
2296 SDValue Overflow = DAG.getSetCC(dl, N->getValueType(1), DIV, LHS,
2298 Overflow = DAG.getNode(ISD::SELECT, dl, N->getValueType(1), isZero,
2300 Overflow);
2301 ReplaceValueWith(SDValue(N, 1), Overflow);
2309 // Replace this with a libcall that will check overflow.
2320 // Temporary for the overflow value, default it to zero.
2337 // Also pass the address of the overflow check.
2359 // Use the overflow from the libcall everywhere.