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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
From

          /* There's no CCP pass after PRE which would re-compute alignment
             information so make sure we re-materialize this here.  */
          if (gimple_call_builtin_p (call, BUILT_IN_ASSUME_ALIGNED)
              && args.length () - 2 <= 1
              && tree_fits_uhwi_p (args[1])
              && (args.length () != 3 || tree_fits_uhwi_p (args[2])))
            {
              unsigned HOST_WIDE_INT halign = tree_to_uhwi (args[1]);
              unsigned HOST_WIDE_INT hmisalign
                = args.length () == 3 ? tree_to_uhwi (args[2]) : 0;
              if ((halign & (halign - 1)) == 0
                  && (hmisalign & ~(halign - 1)) == 0)
                set_ptr_info_alignment (get_ptr_info (forcedname),
                                        halign, hmisalign);
            }

where set_ptr_info_alignment ICEs for align == 0.  set_ptr_info_alignment
takes unsigned int args but the above computes HWI quantities that get
truncated here.

Reply via email to