This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/15344] New: ICE in loop-iv.c when unswitching loops
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 May 2004 14:49:14 -0000
- Subject: [Bug optimization/15344] New: ICE in loop-iv.c when unswitching loops
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
This probably happens on mainline too, but I only tried tree-ssa.
========================================
typedef union tree_node *tree;
struct vec_t { tree a[10]; };
union tree_node { struct vec_t vec; };
static void
bug (tree accesses, int n_bases)
{
int i;
for (i = 0; i < n_bases; i++)
{
tree access = accesses ? accesses->vec.a[i] : (tree) ((void *)0);
bar ();
if (access)
foo ();
}
}
========================================
$ ./cc1 -O -funswitch-loops test.i
bug
test.i: In function `bug':
test.i:21: internal compiler error: in canon_condition, at loop-iv.c:1413
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: ICE in loop-iv.c when unswitching loops
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Keywords: ice-on-valid-code, RTL
Severity: critical
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steven at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15344