https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89862
Bug ID: 89862 Summary: LTO bootstrap fails for ARM Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: kugan at gcc dot gnu.org Target Milestone: --- Created attachment 46039 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46039&action=edit patch With the commit: commit 67c18bce7054934528ff5930cca283b4ac967dca Author: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Jan 31 10:03:06 2018 +0000 PR rtl-optimization/84071 * combine.c (record_dead_and_set_regs_1): Record the source unmodified for a paradoxical SUBREG on a WORD_REGISTER_OPERATIONS target. LTO bootstrap fails for arm (possibly for other WORD_REGISTER_OPERATIONS targets). There are internal compiler error: in operator+=, at profile-count.h:792. It looks like the profile_count is set incorrectly. Commit 67c18bce7054934528ff5930cca283b4ac967dca skips generating gen_lowpart for (set (subreg:SI (reg:QI 1434) 0) (const_int 224 [0xe0])) and likes. This seems to be the reason for the error. attached patch fixes this. Does this look reasonable?