When min != max we know min ^ max != 0.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

        * value-range.cc (get_bitmask_from_range): Remove redundant
        compare of xorv with zero.
---
 gcc/value-range.cc | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index 9c3eb78459d..3046232bbca 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -48,10 +48,7 @@ get_bitmask_from_range (tree type,
     }
 
   wide_int xorv = min ^ max;
-
-  if (xorv != 0)
-    xorv = wi::mask (prec - wi::clz (xorv), false, prec);
-
+  xorv = wi::mask (prec - wi::clz (xorv), false, prec);
   return irange_bitmask (wi::zero (prec), min | xorv);
 }
 
-- 
2.43.0

Reply via email to