Hi, Can you try this patch. It should fix your problem. I will bootstrap and test the patch and send it for review.
Thanks, Sebastian Pop -- AMD - GNU Tools On Thu, Feb 26, 2009 at 13:46, il dot basso dot buffo at gmail dot com <gcc-bugzi...@gcc.gnu.org> wrote: > > > ------- Comment #9 from il dot basso dot buffo at gmail dot com 2009-02-26 > 19:46 ------- > Thanks, Sebastian. I followed your directions, except I used -O1 instead of > -O2. Here's the backtrace: > > #0 is_gimple_val (t=0x0) at ../.././gcc/gimple.c:2853 > #1 0x000000000055dec4 in force_gimple_operand (expr=0x0, > stmts=0x7fffdc78a538, > simple=1 '\001', var=0x0) at ../.././gcc/gimplify.c:7592 > #2 0x000000000097fc22 in build_scop_loop_nests (scop=0x12ce530) at > ../.././gcc/graphite.c:2387 > #3 0x0000000000981f1a in limit_scops () at ../.././gcc/graphite.c:6081 > #4 0x0000000000983de7 in graphite_transform_loops () at > ../.././gcc/graphite.c:6124 > #5 0x00000000006cd137 in graphite_transforms () at > ../.././gcc/tree-ssa-loop.c:298 > #6 0x00000000005b87ca in execute_one_pass (pass=0xe8ab60) at > ../.././gcc/passes.c:1277 > #7 0x00000000005b89b0 in execute_pass_list (pass=0xe8ab60) at > ../.././gcc/passes.c:1326 > #8 0x00000000005b89c5 in execute_pass_list (pass=0xe8a8c0) at > ../.././gcc/passes.c:1327 > #9 0x00000000005b89c5 in execute_pass_list (pass=0xe89d80) at > ../.././gcc/passes.c:1327 > #10 0x0000000000678bca in tree_rest_of_compilation (fndecl=0x7fbcd2977100) at > ../.././gcc/tree-optimize.c:420 > #11 0x0000000000789665 in cgraph_expand_function (node=0x7fbcd2977700) at > ../.././gcc/cgraphunit.c:1047 > #12 0x000000000078ab00 in cgraph_optimize () at ../.././gcc/cgraphunit.c:1106 > #13 0x0000000000413dcb in c_write_global_declarations () at > ../.././gcc/c-decl.c:8102 > #14 0x000000000064301e in toplev_main (argc=<value optimized out>, argv=<value > optimized out>) at ../.././gcc/toplev.c:981 > #15 0x00007fbcd315c60d in __libc_start_main () from /lib/libc.so.6 > #16 0x0000000000405229 in _start () > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39308 > >
Index: graphite.c =================================================================== --- graphite.c (revision 144404) +++ graphite.c (working copy) @@ -2382,8 +2382,10 @@ graphite_loop_normal_form (loop_p loop) tree nit; gimple_seq stmts; edge exit = single_dom_exit (loop); + bool known_niter = number_of_iterations_exit (loop, exit, &niter, false); + + gcc_assert (known_niter); - gcc_assert (number_of_iterations_exit (loop, exit, &niter, false)); nit = force_gimple_operand (unshare_expr (niter.niter), &stmts, true, NULL_TREE); if (stmts)