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

--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is ipa_argagg_value_list is indexed by byte offset and cannot encode
bit offsets.  ipa-fnsummary.cc:evaluate_conditions_for_known_args does

     if (!val)
        {
          ipa_argagg_value_list avs (avals);
          val = avs.get_value (c->operand_num, c->offset / BITS_PER_UNIT,
                   c->by_ref);

losing the offset.  Adding a c->offset % BITS_PER_UNIT == 0 guard fixes this.

Reply via email to