re PR tree-optimization/86841 (ICE in gcc/gcc/tree-vrp.c:1325 with graphite)
authorRichard Biener <rguenther@suse.de>
Fri, 17 Aug 2018 09:26:53 +0000 (09:26 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 17 Aug 2018 09:26:53 +0000 (09:26 +0000)
2018-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/86841
* wide-int-range.cc (wide_int_range_lshift): Use to_uhwi.

From-SVN: r263615

gcc/ChangeLog
gcc/wide-int-range.cc

index 265fa2375412c1e435185f742e275a0492fcbe67..db625ddd4f068dec1bcdaf0634dc1afd387952a0 100644 (file)
@@ -1,3 +1,8 @@
+2018-08-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/86841
+       * wide-int-range.cc (wide_int_range_lshift): Use to_uhwi.
+
 2018-08-17  Martin Liska  <mliska@suse.cz>
 
        * common.opt: Remove Warn, Init and Report for options with
index 3491d89664d8296a3b72b60c09800964604ea8ec..726ec63b3a657ba27e4b2986e9aecf1451ba8efe 100644 (file)
@@ -323,7 +323,7 @@ wide_int_range_lshift (wide_int &res_lb, wide_int &res_ub,
   /* Transform left shifts by constants into multiplies.  */
   if (wi::eq_p (vr1_lb, vr1_ub))
     {
-      int shift = wi::extract_uhwi (vr1_ub, 0, vr1_ub.get_precision ());
+      unsigned shift = vr1_ub.to_uhwi ();
       wide_int tmp = wi::set_bit_in_zero (shift, prec);
       return wide_int_range_multiplicative_op (res_lb, res_ub,
                                               MULT_EXPR, sign, prec,