Summary: | [4.0/4.1 regression] ICE in tree_split_edge, at tree-cfg.c:3107 | ||
---|---|---|---|
Product: | gcc | Reporter: | Martin Michlmayr <tbm> |
Component: | target | Assignee: | Zdenek Dvorak <rakdver> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | debian-gcc, falk, gcc-bugs, janis, rakdver |
Priority: | P5 | Keywords: | ice-on-valid-code |
Version: | 4.1.0 | ||
Target Milestone: | 4.1.3 | ||
Host: | alpha-linux-gnu | Target: | alpha-linux-gnu |
Build: | alpha-linux-gnu | Known to work: | 3.4.6 4.2.0 |
Known to fail: | 4.0.3 4.1.0 | Last reconfirmed: | 2006-10-29 10:00:04 |
Attachments: | test case |
Description
Martin Michlmayr
2006-06-04 11:13:39 UTC
Created attachment 11593 [details]
test case
Here is a cleaned-up testcase: int firstkey(); void DBM_error(int); void domisc() { int i = 0; try { try { firstkey(); while (1) { i++; firstkey(); } } catch (int) { ; } DBM_error(i); } catch (int) { ; } } I have no idea why this would happen only on Alpha, it seems unlikely it's actually a target bug... This bug is still there in 4.1, but not in mainline. Janis, can you perhaps do a regression hunt to see what fixed this and whether it is feasible to backport? A regression hunt using the testcase from comment #2 with -O2 using an alpha-linux cross compiler identified this patch which fixed the ICE on mainline: http://gcc.gnu.org/viewcvs?view=rev&rev=110556 r110556 | rakdver | 2006-02-03 19:28:09 +0000 (Fri, 03 Feb 2006) Zdenek, do you think this patch (or another fix) can be backported to 4.1? http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01259.html > do you think this patch (or another fix) can be backported to 4.1?
>
> http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01259.html
Given the nature of the patch, I do not think this is the right approach to fixing this PR.
Subject: Bug 27891 Author: rakdver Date: Thu Nov 2 19:18:25 2006 New Revision: 118423 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118423 Log: PR tree-optimization/27891 * tree-ssa-loop-ivopts.c (rewrite_use_outer): Do not insert code on abnormal edge. * gcc++.dg/tree-ssa/pr27891.c: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tree-ssa/pr27891.C Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/tree-ssa-loop-ivopts.c Subject: Bug 27891 Author: rakdver Date: Thu Nov 2 20:57:35 2006 New Revision: 118430 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118430 Log: PR tree-optimization/27891 * tree-ssa-loop-ivopts.c (rewrite_use_outer): Do not insert code on abnormal edge. * gcc++.dg/tree-ssa/pr27891.c: New test. Added: branches/gcc-4_0-branch/gcc/testsuite/g++.dg/tree-ssa/pr27891.C Modified: branches/gcc-4_0-branch/gcc/ChangeLog branches/gcc-4_0-branch/gcc/testsuite/ChangeLog branches/gcc-4_0-branch/gcc/tree-ssa-loop-ivopts.c This seems to be fixed both in 4.0 and in 4.1. |