(now sending to gcc@ instead of gcc-help@, as suggested)

I have narrowed it down to this reduced commandline (the time is there just to show that it may take a while, but this particular issue doesn't cause a hang):

m...@hargett-755:~/src/gcc-obj/prev-gcc$ time /home/matt/src/gcc-obj/./prev-gcc/xgcc -B/home/matt/src/gcc-obj/./prev-gcc/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/lib/ -isystem /home/matt/x86_64-unknown-linux-gnu/include -isystem /home/matt/x86_64-unknown-linux-gnu/sys-include -c -O2 -ftree-loop-distribution -DIN_GCC -DHAVE_CONFIG_H -I. -I. -I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/. -I../../gcc-trunk/gcc/../include -I../../gcc-trunk/gcc/../libcpp/include -I../../gcc-trunk/gcc/../libdecnumber -I../../gcc-trunk/gcc/../libdecnumber/bid -I../libdecnumber -Iyes/include -Iyes/include -DCLOOG_PPL_BACKEND ../../gcc-trunk/gcc/reload1.c -o reaload1.o../../gcc-trunk/gcc/reload1.c: In function delete_output_reload: ../../gcc-trunk/gcc/reload1.c:8391:1: error: type mismatch in binary expression
long unsigned int

<unnamed-signed:64>

long unsigned int

D.65146_650 = D.65145_651 - D.65141_624;

../../gcc-trunk/gcc/reload1.c:8391:1: error: type mismatch in binary expression
long unsigned int

<unnamed-signed:64>

long unsigned int

D.65154_658 = D.65153_659 - D.65149_647;

../../gcc-trunk/gcc/reload1.c:8391:1: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

real    9m25.630s
user    9m23.823s
sys     0m0.972s


-O0 -ftree-loop-distribution doesn't exhibit the problem, and neither does -O1 -ftree-loop-distribution. There's something about the combination of -O2 (or -O3) and -ftree-loop-distribution that causes the ICE on this particular file.

I'll try bootstrapping without -ftree-loop-distribution and see if that works for me. If more information is needed, or I should file a bug report, let me know.

On Wed, 24 Jun 2009, Matt wrote:

Hi,

I left my profiled bootstrap to of svn r148885 to run overnight, and saw this in the morning:

/home/matt/src/gcc-obj/./prev-gcc/xgcc -B/home/matt/src/gcc-obj/./prev-gcc/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/lib/ -isystem /home/matt/x86_64-unknown-linux-gnu/include -isystem /home/matt/x86_64-unknown-linux-gnu/sys-include -c -O3 -floop-interchange -floop-strip-mine -floop-block -findirect-inlining -ftree-switch-conversion -fvect-cost-model -fgcse-sm -fgcse-las -fgcse-after-reload -fsee -ftree-loop-linear -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvpt -funroll-loops -funswitch-loops -fprofile-generate -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/. -I../../gcc-trunk/gcc/../include -I../../gcc-trunk/gcc/../libcpp/include -I../../gcc-trunk/gcc/../libdecnumber -I../../gcc-trunk/gcc/../libdecnumber/bid -I../libdecnumber -Iyes/include -Iyes/include -DCLOOG_PPL_BACKEND ../../gcc-trunk/gcc/rtl.c -o rtl.o
../../gcc-trunk/gcc/reload1.c: In function delete_output_reload:
../../gcc-trunk/gcc/reload1.c:8391:1: error: type mismatch in binary expression
long unsigned int

<unnamed-signed:64>

long unsigned int

D.58046_964 = D.58045_963 - D.58041_946;

../../gcc-trunk/gcc/reload1.c:8391:1: error: type mismatch in binary expression
long unsigned int

<unnamed-signed:64>

long unsigned int

D.58054_972 = D.58053_971 - D.58049_967;

../../gcc-trunk/gcc/reload1.c:8391:1: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.

This is using the 4:4.4.0-3ubuntu1 version of Ubuntu's gcc package on amd64.

Here's my configure cmdline:
CFLAGS="-O3 -floop-interchange -floop-strip-mine -floop-block -findirect-inlining -ftree-switch-conversion -fvect-cost-model -fgcse-sm -fgcse-las -fgcse-after-reload -fsee -ftree-loop-linear -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvpt -funroll-loops -funswitch-loops" CPPFLAGS="-O3 -floop-interchange -floop-strip-mine -floop-block -findirect-inlining -ftree-switch-conversion -fvect-cost-model -fgcse-sm -fgcse-las -fgcse-after-reload -fsee -ftree-loop-linear -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvpt -funroll-loops -funswitch-loops" ../gcc-trunk/configure --prefix=/home/matt --enable-stage1-checking=all --enable-bootstrap --enable-lto --enable-languages=c,c++ --with-ppl --with-cloog

and here's my make cmdline:
make BOOT_CFLAGS="-O3 -floop-interchange -floop-strip-mine -floop-block -findirect-inlining -ftree-switch-conversion -fvect-cost-model -fgcse-sm -fgcse-las -fgcse-after-reload -fsee -ftree-loop-linear -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvpt -funroll-loops -funswitch-loops" -j5 profiledbootstrap && make check && make install


If I take the problematic compilation unit of reload1.c out, removing all optimizations and adding -O0 compiles successfully. Running the original command that elicits the ICE under valgrind produces nothing. I'm now trying to narrow it down to the options (or combination thereof) that causes the problem. So far, eliminating -floop-interchange, -floop-strip-mine, -floop-block, -funroll-loops, -funswitch-loops, -fgcse-sm, -fgcse-las, and -fgcse-after-reload doesn't eliminate the ICE.

I can still reproduce the ICE with this reduced commandline, which I am working to reduce further (each compilation attempt takes 10+ minutes): /home/matt/src/gcc-obj/./prev-gcc/xgcc -B/home/matt/src/gcc-obj/./prev-gcc/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/bin/ -B/home/matt/x86_64-unknown-linux-gnu/lib/ -isystem /home/matt/x86_64-unknown-linux-gnu/include -isystem /home/matt/x86_64-unknown-linux-gnu/sys-include -c -O3 -findirect-inlining -ftree-switch-conversion -fvect-cost-model -fsee -ftree-loop-linear -ftree-loop-distribution -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvpt -fprofile-generate -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/. -I../../gcc-trunk/gcc/../include -I../../gcc-trunk/gcc/../libcpp/include -I../../gcc-trunk/gcc/../libdecnumber -I../../gcc-trunk/gcc/../libdecnumber/bid -I../libdecnumber -Iyes/include -Iyes/include -DCLOOG_PPL_BACKEND ../../gcc-trunk/gcc/reload1.c -o reaload1.o


If anyone has suggestions on information I can supply to aid the debugging/fix for this issue, please let me know.

Thanks!

--
tangled strands of DNA explain the way that I behave.
http://www.clock.org/~matt



--
tangled strands of DNA explain the way that I behave.
http://www.clock.org/~matt

Reply via email to