GCC trunk gets an internal compiler error when building SPEC CPU2000 test 197.parser with "-O2 -fselective-scheduling -fsel-sched-pipelining" on powerpc-linux, as demonstrated by this minimized testcase:
----------------------------------------------------------------------- extern int N_words; typedef struct DIS_node_struct DIS_node; typedef struct CON_list_struct CON_list; struct DIS_node_struct { CON_list *cl; }; void build_DIS_CON_tree (void) { int w; DIS_node *dnroot, *dn; CON_list *child, *xchild; for (w = 0; w < N_words; w++) { if (dnroot == ((void *) 0)) { dnroot = dn; for (child = dn->cl; child != ((void *) 0); child = xchild) { } } } } ----------------------------------------------------------------------- elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/gcc -O2 -fselective-scheduling -fsel-sched-pipelining -c bug.c bug.c: In function build_DIS_CON_tree: bug.c:26:1: internal compiler error: in verify_backedges, at sel-sched-ir.c:3498 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. The failure starts with this very large patch (Expand from SSA): http://gcc.gnu.org/viewcvs?view=rev&rev=146817 r146817 | matz | 2009-04-26 19:35:04 +0000 (Sun, 26 Apr 2009) -- Summary: ICE in verify_backedges for 197.parser with sel-sched Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42245