Home | History | Annotate | Download | only in InstCombine

Lines Matching full:comparison

114 /// comparison only checks the sign bit.  If it only checks the sign bit, set
115 /// TrueIfSigned if the result of the comparison is true when the input value is
142 /// Returns true if the exploded icmp can be expressed as a signed comparison
144 /// The signedness of the comparison is preserved.
225 /// before doing the comparison. This handles cases like "A[i]&4 == 0".
278 // FirstTrueElement/SecondTrueElement - Used to emit a comparison of the form
285 // FirstFalseElement/SecondFalseElement - Used to emit a comparison of the
298 // comparison is true for element 'i'. If there are 64 elements or less in
299 // the array, this will fully represent all the comparison results.
316 // Find out if the comparison would be true or false for the i'th element.
334 // Otherwise, we know if the comparison is true or false for this element,
338 // State machine for single/double/range index comparison.
389 // Now that we've scanned the entire array, emit our new comparison(s). We
400 // If the comparison is only true for one or two elements, emit direct
420 // If the comparison
440 // If the comparison can be replaced with a range comparison for the elements
471 // If a magic bitvector captures the entire comparison state
605 /// else. At this point we know that the GEP is on the LHS of the comparison.
713 return ReplaceInstUsesWith(I, // No comparison is needed here.
719 // Make sure we do a signed comparison here.
850 // Figure out the interval that is being checked. For example, a comparison
975 // If we have an unsigned comparison and an ashr, we can't simplify this.
982 // transform to div and then simplify the resultant comparison.
1016 // comparison cannot succeed.
1079 // If this is a comparison that tests the signbit (X < 0) or (x > -1),
1153 // have its sign bit set or if it is an equality comparison.
1154 // Extending a relational comparison when we're checking the sign
1328 // If this is a signed comparison to 0 and the mul is sign preserving,
1425 // comparison cannot succeed.
1460 // If this is a signed comparison to 0 and the shift is sign preserving,
1469 // Otherwise, if this is a comparison of the sign bit, simplify to and/test.
1525 // Fold this div into the comparison, producing a range check.
1678 // are comparing against, then the comparison could never succeed!
1689 // comparison can never succeed!
1824 // A signed comparison of sign extended values simplifies into a
1825 // signed comparison.
1829 // The other three cases all fold into an unsigned comparison.
1850 // A signed comparison of sign extended values simplifies into a
1851 // signed comparison.
1855 // The other three cases all fold into an unsigned comparison.
1860 // in the shorter type. Consequently, we cannot emit a simple comparison.
1867 // Evaluate the comparison for LT (we invert for GT below). LE and GE cases
2001 // DemandedBitsLHSMask - When performing a comparison against a constant,
2014 // For a UGT comparison, we don't care about any bits that
2016 // bits doesn't impact the outcome of the comparison, because any value
2024 // Similarly, for a ULT comparison, we don't care about the trailing zeros.
2124 // See if we are doing a comparison with a constant.
2179 // If this comparison is a normal comparison, it demands all
2180 // bits, if it is a sign bit comparison, it only demands the sign bit.
2185 // See if we can fold the comparison based on range information we can get
2228 // simplify this comparison. For example, (x&4) < 8 is always true.
2236 // bit is set. If the comparison is against zero, then this is a check
2273 // bit is set. If the comparison is against zero, then this is a check
2399 // Turn a signed comparison into an unsigned one if both operands
2411 // and CodeGen. And in this case, at least one of the comparison
2420 // See if we are doing a comparison between a constant and an instruction that
2421 // can be folded into the comparison.
2452 // comparison into the select arms, which will cause one to be
2542 // For generality, we handle any zero-extension of any operand comparison
2974 // Otherwise, we can potentially simplify the comparison. We know that it
2977 assert(!RHS.isNaN() && "NaN comparison not already folded!");
3021 // If the RHS value is > SignedMax, fold the comparison. This handles +INF
3033 // If the RHS value is > UnsignedMax, fold the comparison. This handles
3082 // If we had a comparison against a fractional value, we have to adjust
3086 comparison!");
3145 // Lower this FP comparison into an appropriate integer version of the
3146 // comparison.
3249 // comparison into the select arms, which will cause one to be