Summary: | [4.4/4.5 Regression] Revision 139590 caused ICE in emit_swap_insn at reg-stack.c:827 | ||
---|---|---|---|
Product: | gcc | Reporter: | Philip Blakely <pmblakely> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, hjl.tools, vmakarov |
Priority: | P3 | ||
Version: | 4.4.0 | ||
Target Milestone: | 4.4.1 | ||
See Also: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39607 | ||
Host: | Target: | i586-redhat-linux | |
Build: | Known to work: | 4.3.4 | |
Known to fail: | 4.4.0 | Last reconfirmed: | 2009-06-29 14:36:37 |
Attachments: | Minimal test-case test.f |
Description
Philip Blakely
2009-06-29 12:50:18 UTC
Created attachment 18091 [details]
Minimal test-case test.f
Didn't GCC say report the bug to http://bugzilla.redhat.com/bugzilla ? (In reply to comment #2) > Didn't GCC say report the bug to http://bugzilla.redhat.com/bugzilla ? > Oh, yes. Sorry. I'll post it there. The test also fails with FSF 4.4.1 and 4.5.0, but not with 4.3.4, which makes for 4.4 regression. Revision 139590 (IRA): http://gcc.gnu.org/ml/gcc-cvs/2008-08/msg01152.html is very likely the cause. Revision 139590 is the cause. Thanks for reporting this. I started to work on the PR. The problem was in usage of df_get_live_out in ira.c::build_insn_chain instead of DF_LR_OUT. Later contains r58 (assigned to st0 register) and it creates restore insn for st0 after the call and prevents reg-stack crashing. The original IRA patch used DF_LR_OUT. After removing the old RA, accidentally IRA started to use df_get_live_out used by the old RA. I'll send a patch solving the problem soon. Subject: Bug 40587 Author: vmakarov Date: Fri Jul 3 22:36:31 2009 New Revision: 149212 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149212 Log: 2009-07-03 Vladimir Makarov <vmakarov@redhat.com> PR target/40587 * ira.c (build_insn_chain): Use DF_LR_OUT instead of df_get_live_out. * testsuite/gfortran.dg/pr40587.f: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr40587.f Modified: trunk/gcc/ChangeLog trunk/gcc/ira.c Subject: Bug 40587 Author: vmakarov Date: Fri Jul 3 22:46:30 2009 New Revision: 149213 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149213 Log: 2009-07-03 Vladimir Makarov <vmakarov@redhat.com> PR target/40587 * ira.c (build_insn_chain): Use DF_LR_OUT instead of df_get_live_out. * testsuite/gfortran.dg/pr40587.f: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr40587.f Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/ira.c Fixed. |