(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