[Bug middle-end/31642] -O2 -fno-guess-branch-probability -fno-tree-ch -fno-tree-dominator-opts -fno-tree-lrs -fno-tree-dce -fno-tree-vrp -funit-at-a-time -ftree-copy-prop -ftree-copyrename yields an infinite loop in SPEC benchmark 176.gcc

kenneth dot hoste at elis dot ugent dot be gcc-bugzilla@gcc.gnu.org
Fri Apr 20 19:52:00 GMT 2007



------- Comment #3 from kenneth dot hoste at elis dot ugent dot be  2007-04-20 20:51 -------
    identifying source code lines corresponding to infinite loop using GDB:

    (gdb) backtrace
    #0  regclass (f=0x9ac29f4, nregs=71) at regclass.c:732
    #1  0x08065d5c in rest_of_compilation (decl=0x9b4526c) at toplev.c:3056
    #2  0x0805713b in finish_function (nested=0) at c-decl.c:6791
    #3  0x08048a25 in yyparse () at c-parse.c:1684
    #4  0x08066a83 in compile_file (name=Variable "name" is not available.
    ) at toplev.c:2227
    #5  0x080681a3 in main (argc=4, argv=0xbf945ea4) at toplev.c:3921
    (gdb) n
    736               else if ((GET_CODE (insn) == INSN
    (gdb) n
    717           for (insn = f; insn; insn = NEXT_INSN (insn))
    (gdb) n
    729               if (GET_CODE (insn) == NOTE
    (gdb) n
    732               else if (GET_CODE (insn) == NOTE
    (gdb) n
    736               else if ((GET_CODE (insn) == INSN
    (gdb) n
    717           for (insn = f; insn; insn = NEXT_INSN (insn))
    (gdb) backtrace
    #0  regclass (f=0x9ac29f4, nregs=71) at regclass.c:717
    #1  0x08065d5c in rest_of_compilation (decl=0x9b4526c) at toplev.c:3056
    #2  0x0805713b in finish_function (nested=0) at c-decl.c:6791
    #3  0x08048a25 in yyparse () at c-parse.c:1684
    #4  0x08066a83 in compile_file (name=Variable "name" is not available.
    ) at toplev.c:2227
    #5  0x080681a3 in main (argc=4, argv=0xbf945ea4) at toplev.c:3921
    (gdb) 

    The program seems stuck in the for-loop at line 717. The value for insn
seems to be cycling (it's taking different values, but cycles back to a
previous value).

    Any pointers on how to reduce this further are welcome... Since this is
(pretty old though) GCC code (the 176.gcc corresponds to a 2.x version of GCC I
believe), maybe someone can shed soem light on this? I'm not at all familiar
with GCCs insides...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31642



More information about the Gcc-bugs mailing list