https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85746

--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> ---
The problematic file seems to be tree-dfa.o, and the only difference I see in
the .original dump is the use of __builtin_constant_p in wi::lshift (3
occurrences because of templates)

-          if (precision <= 64)
+          if (__builtin_constant_p (xi.D.16865.D.16740.precision > 64) != 0 &&
xi.D.16865.D.16740.precision > 64 ? ((__builtin_constant_p (shift <= 62) != 0
&& shift <= 62) && xi.D.16865.D.16740.len == 1) && *NON_LVALUE_EXPR
<xi.D.16865.D.16740.val> <= (const long int) (9223372036854775807 >> shift) :
precision <= 64)

which corresponds to the use of STATIC_CONSTANT_P in wide-int.h

      if (STATIC_CONSTANT_P (xi.precision > HOST_BITS_PER_WIDE_INT)
          ? (STATIC_CONSTANT_P (shift < HOST_BITS_PER_WIDE_INT - 1)
             && xi.len == 1
             && xi.val[0] <= (HOST_WIDE_INT) ((unsigned HOST_WIDE_INT)
                                              HOST_WIDE_INT_MAX >> shift))
          : precision <= HOST_BITS_PER_WIDE_INT)
        {
          val[0] = xi.ulow () << shift;
          result.set_len (1);
        }

Reply via email to