This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32946] ICE with -fpredictive-commoning in build_classic_dist_vector_1
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Jul 2007 15:10:31 -0000
- Subject: [Bug middle-end/32946] ICE with -fpredictive-commoning in build_classic_dist_vector_1
- References: <bug-32946-14773@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from burnus at gcc dot gnu dot org 2007-07-31 15:10 -------
I can this reproduce on x86-64-linux (20070731, rev127091), however, only with
the option "-m32"; using "-m64" I don't get a crash and valgrind shows no
problems.
For "-m32 -O1 -fpredictive-commoning" I get a simple segmentation fault, but
for "-m32 -O2 -fpredictive-commoning" and "-m32 -O3" I get the error:
aaa.f90:3: internal compiler error: vector VEC(tree,base) index domain error,
in build_classic_dist_vector_1 at tree-data-ref.c:2725
For -O3 this is a regression with regards to 4.2.x and 4.1.x; but not a real
one since -fpredictive-commoning is a new option, enabled with -O3.
valgrind with -m32 -O1 -fpredictive-commoning shows:
==2392== Invalid read of size 4
==2392== at 0x6DBEB3: build_classic_dist_vector_1 (tree-data-ref.c:2714)
==2392== by 0x6E26F6: subscript_dependence_tester (tree-data-ref.c:3021)
==2392== by 0x6E3707: compute_all_dependences (tree-data-ref.c:3829)
==2392== by 0x6E453C: compute_data_dependences_for_loop
(tree-data-ref.c:4141)
==2392== by 0xA5F381: tree_predictive_commoning_loop (tree-predcom.c:2487)
==2392== by 0xA608F4: tree_predictive_commoning (tree-predcom.c:2595)
==2392== by 0x7883C6: run_tree_predictive_commoning (tree-ssa-loop.c:183)
==2392== by 0x638C38: execute_one_pass (passes.c:1124)
==2392== by 0x638E1F: execute_pass_list (passes.c:1177)
==2392== by 0x638E34: execute_pass_list (passes.c:1178)
==2392== by 0x638E34: execute_pass_list (passes.c:1178)
==2392== by 0x70E58E: tree_rest_of_compilation (tree-optimize.c:405)
[...]
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|fortran |middle-end
Keywords| |ice-on-valid-code
Summary|ICE (segfault) when |ICE with -fpredictive-
|compiling with -O3 (- |commoning in
|fpredictive-commoning) |build_classic_dist_vector_1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32946