[Bug rtl-optimization/34998] New: [4.3 Regression] gcc.c-torture/execute/20040709-1.c fails for -EL -mips16 -O3
rsandifo at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jan 28 15:23:00 GMT 2008
gcc.c-torture/execute/20040709-1.c fails for -EL -mips16 -O3 with:
20040709-1.c:93: internal compiler error: in insert_save, at caller-save.c:745
This is due to the new subreg liveness checking. We have a bb with:
A: call
...
B: set of (subreg:HI (reg:SI foo))
...
C: use of (reg:SI foo)
and no other references to (reg:SI foo) in the function.
We allocate FOO a call-clobbered register, and wrongly
think that it is still live at A. This is because
global.c:build_insn_chain tracks the liveness of each
byte of FOO separately, and wrongly thinks that the
B leaves the upper two bytes live. (SUBREG lvalues
clobber the whole word span, not just the byte span.)
--
Summary: [4.3 Regression] gcc.c-torture/execute/20040709-1.c
fails for -EL -mips16 -O3
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rsandifo at gcc dot gnu dot org
GCC target triplet: mipsisa64-elfoabi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34998
More information about the Gcc-bugs
mailing list