Bug 36126 - ICE: postreload.c:401
Summary: ICE: postreload.c:401
Status: RESOLVED WORKSFORME
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.4.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-04 23:34 UTC by nightstrike
Modified: 2010-10-02 11:44 UTC (History)
3 users (show)

See Also:
Host: i686-pc-mingw32
Target: x86_64-pc-mingw32
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Preprocessed source (56.99 KB, text/plain)
2008-05-04 23:35 UTC, nightstrike
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nightstrike 2008-05-04 23:34:19 UTC
$ gcc -O1 -c -o vc1.o vc1.i
In file included from E:/msys/1.0/usrc/ffmpeg/src/libavcodec/mpegvideo.h:33,
                 from E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c:31:
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/bitstream.h: In function 'decode012':
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/bitstream.h:951: internal compiler error: Segmentation fault


$ gcc -O1 -c -o vc1.o vc1.i -fno-defer-pop -fno-delayed-branch -fno-guess-branch-probability
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c: In function 'decode_colskip':
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c:175: internal compiler error: Segmentation fault



$ gcc -O1 -c -o vc1.o vc1.i -fno-defer-pop -fno-delayed-branch -fno-guess-branch-probability -fno-cprop-registers -
fno-loop-optimize -fno-if-conversion -fno-if-conversion2 -fno-tree-ccp -fno-tree-dce -fno-tree-dominator-opts -fno-
tree-dse -fno-tree-ter -fno-tree-lrs -fno-tree-sra -fno-tree-copyrename -fno-tree-fre -fno-tree-ch -fno-unit-at-a-t
ime
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c: In function 'vc1_init_common':
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c:113: internal compiler error: Segmentation fault



$ gcc -O1 -c -o vc1.o vc1.i -fno-defer-pop -fno-delayed-branch -fno-guess-branch-probability -fno-cprop-registers -
fno-loop-optimize -fno-if-conversion -fno-if-conversion2 -fno-tree-ccp -fno-tree-dce -fno-tree-dominator-opts -fno-
tree-dse -fno-tree-ter -fno-tree-lrs -fno-tree-sra -fno-tree-copyrename -fno-tree-fre -fno-tree-ch -fno-unit-at-a-t
ime -fno-merge-constants -fno-omit-frame-pointer
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c: In function 'vc1_init_common':
E:/msys/1.0/usrc/ffmpeg/src/libavcodec/vc1.c:113: internal compiler error: Segmentation fault




The above is a list of ICE's and how the location changed as I added -fno options.  With every option added, the ICE remained.  Dooing a backtrace yields this:


(gdb) Starting program: c:/mingw/bin/../libexec/gcc/x86_64-pc-mingw32/4.4.0/cc1.exe -fpreprocessed vc1.i -quiet -dum         pbase vc1.i -mtune=generic -auxbase-strip vc1.o -O1 -version -fno-defer-pop -fno-delayed-branch -fno-guess-branch-pr         obability -fno-cprop-registers -fno-loop-optimize -fno-if-conversion -fno-if-conversion2 -fno-tree-ccp -fno-tree-dce          -fno-tree-dominator-opts -fno-tree-dse -fno-tree-ter -fno-tree-lrs -fno-tree-sra -fno-tree-copyrename -fno-tree-fre          -fno-tree-ch -fno-unit-at-a-time -fno-merge-constants -fno-omit-frame-pointer -o a.s

Program received signal SIGSEGV, Segmentation fault.
0x000007ff7fc52b00 in ?? ()
(gdb) bt
#0  0x000007ff7fc52b00 in ?? ()
#1  0x0000000000abbe2c in reload_cse_simplify_operands (insn=0x4f0f050, 
    testreg=0x4d725e0) at ../../build/gcc-svn/gcc/gcc/postreload.c:401
#2  0x0000000000abc66f in reload_cse_regs_1 (first=0x4f2afc0)
    at ../../build/gcc-svn/gcc/gcc/postreload.c:174
#3  0x0000000000abc700 in reload_cse_regs (first=0x0)
    at ../../build/gcc-svn/gcc/gcc/postreload.c:70
#4  0x0000000000abd69d in rest_of_handle_postreload ()
    at ../../build/gcc-svn/gcc/gcc/postreload.c:1579
#5  0x00000000006277d6 in execute_one_pass (pass=0xc900e0)
    at ../../build/gcc-svn/gcc/gcc/passes.c:1133
#6  0x0000000000627a5d in execute_pass_list (pass=0xc900e0)
    at ../../build/gcc-svn/gcc/gcc/passes.c:1192
#7  0x0000000000627a6f in execute_pass_list (pass=0xc4a120)
    at ../../build/gcc-svn/gcc/gcc/passes.c:1193
#8  0x0000000000627a6f in execute_pass_list (pass=0xc4a0c0)
    at ../../build/gcc-svn/gcc/gcc/passes.c:1193
#9  0x000000000081a62f in tree_rest_of_compilation (fndecl=0x4b178f0)
    at ../../build/gcc-svn/gcc/gcc/tree-optimize.c:420
#10 0x00000000006299d2 in cgraph_expand_function (node=0x4e10000)
    at ../../build/gcc-svn/gcc/gcc/cgraphunit.c:1157
#11 0x000000000062bb17 in cgraph_assemble_pending_functions ()
    at ../../build/gcc-svn/gcc/gcc/cgraphunit.c:523
#12 0x000000000062b34a in cgraph_finalize_function (decl=0x4b178f0, 
    nested=0 '\0') at ../../build/gcc-svn/gcc/gcc/cgraphunit.c:641
#13 0x000000000040c0b3 in finish_function ()
    at ../../build/gcc-svn/gcc/gcc/c-decl.c:6781
#14 0x000000000048680b in c_parser_declaration_or_fndef (parser=0x47f10c0, 
    fndef_ok=1 '\001', empty_ok=<value optimized out>, nested=0 '\0', 
    start_attr_ok=<value optimized out>)
    at ../../build/gcc-svn/gcc/gcc/c-parser.c:1420
#15 0x00000000004877d4 in c_parser_external_declaration (parser=0x47f10c0)
    at ../../build/gcc-svn/gcc/gcc/c-parser.c:1175
#16 0x00000000004886dd in c_parse_file ()
    at ../../build/gcc-svn/gcc/gcc/c-parser.c:1077
#17 0x000000000046ccd5 in c_common_parse_file (
    set_yydebug=<value optimized out>)
    at ../../build/gcc-svn/gcc/gcc/c-opts.c:1280
#18 0x000000000064860f in toplev_main (argc=<value optimized out>, 
    argv=<value optimized out>) at ../../build/gcc-svn/gcc/gcc/toplev.c:962
#19 0x00000000004013da in __tmainCRTStartup ()
    at ../mingw-w64-crt/crt64/crtexe.c:259
#20 0x0000000077d5964c in ?? ()
(gdb)

(gdb)  p recog_data.n_alternatives 
$1 = 19 '\023'
(gdb) p alternative_nregs
(gdb) No symbol "alternative_nregs" in current context.


This ICE occurs using x86_64-pc-mingw32 targetting compilers that are hosted on x86_64-pc-mingw32, i686-pc-mingw32, and i686-pc-cygwin.  Compilers hosted on x86_64-pc-linux and i686-pc-linux that also target x86_64-pc-mingw32 do not exhibit the ICE.
Comment 1 nightstrike 2008-05-04 23:35:16 UTC
Created attachment 15577 [details]
Preprocessed source

This is the preprocessed source that is used in the compilations mentioned in the PR.
Comment 2 Kai Tietz 2010-10-02 11:44:46 UTC
I tested this preprocessed sources on 4.4.x (sezero's version) and against 4.5.x and current trunk. I can't reproduce this failure anymore.
So I close this bug as solved.