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)

Reply via email to