https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109607
Bug ID: 109607 Summary: IPA replaces stmt with invalid gimple Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- On cfghooks.cc we replace BIT_FIELD_REF <*this_8(D), 8, 56> with BIT_FIELD_REF <VIEW_CONVERT_EXPR<const struct profile_count>(ISRA.814), 8, 56> in ipa_param_body_adjustments::modify_expression. The replacement seems to be of type 'unsigned long'. This is (should be) invalid GIMPLE unless ISRA.814 is made a non-register. Note when replacing memory with register BIT_FIELD_REFs have to be careful with endianess (IIRC), thus the replacement looks dangerous anyway. A fix for PR109594 will make us trip over this new IL checking during bootstrap.