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?