This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lno] loop-optimize2 ICE


Hello,

> Got a loop-optimize2 ICE on SPEC's bzip2:
> 
> ========
> gcc -c -o bzip2.o -O3 -floop-optimize2 bzip2.c
> 
> GNU C version 3.5-tree-ssa-lno 20040225 (merged 20040221)
> (powerpc-apple-darwin7.0.0)
>         compiled by GNU C version 3.5-tree-ssa-lno 20040225 (merged
> 20040221).
> bzip2.c: In function `undoReversibleTransformation_small':
> bzip2.c:2585: internal compiler error: in trunc_int_for_mode, at
> explow.c:54
> ========
> 
> Below is the smallest test case I came up with ("ttt.c"), and some more
> details.
> 
> The same problem comes up in gap (aggroup.c), crafty (iterate.c) and gcc
> (function.c).

sorry for this; I noticed this problem already when I merged this to
mainline, but I forgot to commit the fix also to lno branch.  I will do
this as soon as possible,

Zdenek

> ttt.c:
> ========
> int  last;
> void undoReversibleTransformation_small (int dst, unsigned char z)
> {
>    int retVal;
>    int i2, ch2;
> 
>    i2       = 0;
>    ch2      = 256;
> 
>    while ( i2 <= last ) {
>      int j2;
>      for (j2 = 0;  j2 < (int)z;  j2++) {
>        if (dst) retVal = foo (ch2, dst);
>      }
>   }
> }
> ========
> gcc -c -o bzip2.o -O3 -floop-optimize2 ttt.c
> 
> (gdb)
> Breakpoint 1, trunc_int_for_mode (c=0, mode=CCmode) at
> ../../gcc/gcc/explow.c:53
> 53      in ../../gcc/gcc/explow.c
> (gdb) backtrace
> #0  trunc_int_for_mode (c=0, mode=CCmode) at ../../gcc/gcc/explow.c:53
> #1  0x0021c234 in simplify_binary_operation (code=UNKNOWN, mode=CCmode,
> op0=0x0, op1=0x40f1e400) at ../../gcc/gcc/simplify-rtx.c:2205
> #2  0x0021c234 in simplify_binary_operation (code=UNKNOWN, mode=CCmode,
> op0=0x0, op1=0x40f1e400) at ../../gcc/gcc/simplify-rtx.c:2205
> #3  0x0021f3e0 in simplify_gen_binary (code=UNKNOWN, mode=VOIDmode,
> op0=0x0, op1=0x0) at ../../gcc/gcc/simplify-rtx.c:85
> #4  0x003b6eb0 in get_iv_value (iv=0x0, iteration=0x0) at
> ../../gcc/gcc/loop-iv.c:1151
> #5  0x002ee2ac in unswitch_single_loop (loops=0x0, loop=<incomplete type>,
> cond_checked=0x0, num=0) at ../../gcc/gcc/loop-unswitch.c:189
> #6  0x002ee808 in unswitch_loops (loops=0x0) at
> ../../gcc/gcc/loop-unswitch.c:134
> #7  0x00095aa8 in rest_of_handle_loop2 (decl=0x40e02cd0, insns=0x40f208c0)
> at ../../gcc/gcc/toplev.c:2985
> #8  0x00096294 in rest_of_compilation (decl=0x545904) at
> ../../gcc/gcc/toplev.c:3279
> #9  0x001e4604 in tree_rest_of_compilation (fndecl=0x40e02cd0,
> nested_p=false) at ../../gcc/gcc/tree-optimize.c:594
> #10 0x0001c8f8 in c_expand_body_1 (fndecl=0x545904, nested_p=0) at
> ../../gcc/gcc/c-decl.c:6204
> #11 0x0001cb64 in c_expand_body (fndecl=0x0) at ../../gcc/gcc/c-decl.c:6236
> #12 0x001db7a0 in cgraph_expand_function (node=0x40f208c0) at
> ../../gcc/gcc/cgraphunit.c:782
> #13 0x001dcd08 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1664
> #14 0x00057d60 in c_objc_common_finish_file () at
> ../../gcc/gcc/c-objc-common.c:243
> #15 0x0004f450 in c_common_parse_file (set_yydebug=0) at
> ../../gcc/gcc/c-opts.c:1239
> #16 0x000986bc in toplev_main (argc=5517644, argv=0x1) at
> ../../gcc/gcc/toplev.c:1871
> #17 0x00068700 in main (argc=0, argv=0x0) at ../../gcc/gcc/main.c:35
> (gdb) n
> (gdb) n
> (gdb) n
> (gdb) n
> (gdb) n
> tt.c: In function `undoReversibleTransformation_small':
> tt.c:16: internal compiler error: in trunc_int_for_mode, at explow.c:54
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]