All the work for keeping the maybe nonzero masks up to date is being
done by the bit-CCP code now. Any bitmask inherent in the range that
range-ops may have calculated has no extra information, so the
intersection is unnecessary.
gcc/ChangeLog:
* range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
bit_value_binop (code, sign, prec, &value, &mask,
lh_sign, lh_prec, lh_value, lh_mask,
rh_sign, rh_prec, rh_value, rh_mask);
-
- int_range<2> tmp (type);
- tmp.set_nonzero_bits (value | mask);
- r.intersect (tmp);
+ r.set_nonzero_bits (value | mask);
}
// Return the upper limit for a type.