diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2022-11-11 10:11:03 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2022-11-11 14:52:09 +0100 |
commit | c0662c74969820fb576c8a2f35e946581c2c6f9d (patch) | |
tree | f0422ffc3301d943996f44f4e61f679ec7373d53 | |
parent | c16c40808331a02947b1ad962e85e1b40e30a707 (diff) | |
download | gcc-c0662c74969820fb576c8a2f35e946581c2c6f9d.zip gcc-c0662c74969820fb576c8a2f35e946581c2c6f9d.tar.gz gcc-c0662c74969820fb576c8a2f35e946581c2c6f9d.tar.bz2 |
[range-ops] Avoid unnecessary intersection in update_known_bitmask.
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.
-rw-r--r-- | gcc/range-op.cc | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/range-op.cc b/gcc/range-op.cc index 9eec464..0b01cf4 100644 --- a/gcc/range-op.cc +++ b/gcc/range-op.cc @@ -89,10 +89,7 @@ update_known_bitmask (irange &r, tree_code code, 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. |