https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81175
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-06-22 CC| |rguenth at gcc dot gnu.org Component|fortran |tree-optimization Summary|During the compilation of a |[7/8 Regression] |program gfortran (7.1.0) |EXC_BAD_ACCESS in |makes "internal compiler |::slpeel_duplicate_current_ |error: Segmentation fault" |defs_from_edges(edge, edge, | |edge, edge) at is-a.h:192 Ever confirmed|0 |1 Known to fail| |7.1.0, 8.0 --- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Confirmed with the options -O3 -ffast-math -march=broadwell -fno-strict-overflow The change occurred between revisions r245767 (2017-02-28, compiles) and r246069 (2017-03-11, ICE). Backtrace * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x0000000100f12bf5 f951`::slpeel_duplicate_current_defs_from_edges(edge, edge, edge, edge) at is-a.h:192 frame #1: 0x0000000100f12bf5 f951`::slpeel_duplicate_current_defs_from_edges(edge, edge, edge, edge) frame #2: 0x0000000100f12bf5 f951`::slpeel_duplicate_current_defs_from_edges(edge, edge, edge, edge) [inlined] gimple_phi_arg_def(index=<unavailable>, gs=<unavailable>) frame #3: 0x0000000100f12bf5 f951`::slpeel_duplicate_current_defs_from_edges(to=<unavailable>, to=<unavailable>, from=<unavailable>, from=<unavailable>) frame #4: 0x0000000100f1433b f951`slpeel_tree_duplicate_loop_to_edge_cfg(loop=0x0000000143e56318, scalar_loop=0x0000000145bdd420, e=0x0000000143e55b98) at tree-vect-loop-manip.c:429 frame #5: 0x0000000100f15f15 f951`vect_do_peeling(loop_vinfo=0x0000000145903e60, niters=0x0000000145b8e4c8, nitersm1=0x0000000142edd5a0, niters_vector=0x00007fff5fbfedf8, th=12, check_profitability=<unavailable>, niters_no_overflow=true) at tree-vect-loop-manip.c:1739 frame #6: 0x0000000100f04e46 f951`vect_transform_loop(loop_vinfo=<unavailable>) at tree-vect-loop.c:6943 frame #7: 0x0000000100f2948c f951`vectorize_loops() at tree-vectorizer.c:690 frame #8: 0x0000000100b26166 f951`execute_one_pass(pass=0x0000000142b0ff60) at passes.c:2492 frame #9: 0x0000000100b269d4 f951`::execute_pass_list_1(pass=0x0000000142b0ff60) at passes.c:2581 frame #10: 0x0000000100b269e6 f951`::execute_pass_list_1(pass=0x0000000142b0f8a0) at passes.c:2582 frame #11: 0x0000000100b269e6 f951`::execute_pass_list_1(pass=0x0000000142b0e520) at passes.c:2582 frame #12: 0x0000000100b26a2d f951`execute_pass_list(fn=<unavailable>, pass=<unavailable>) at passes.c:2592 frame #13: 0x0000000100699d35 f951`cgraph_node::expand(this=0x0000000143e00000) at cgraphunit.c:2050 frame #14: 0x000000010069ba5d f951`symbol_table::compile() at cgraphunit.c:2186 frame #15: 0x000000010069b954 f951`symbol_table::compile(this=0x0000000142d05100) frame #16: 0x000000010069ea21 f951`symbol_table::finalize_compilation_unit(this=0x0000000142d05100) at cgraphunit.c:2636 frame #17: 0x0000000100c2b39a f951`::compile_file() at toplev.c:493 frame #18: 0x000000010110dfa1 f951`toplev::main(this=0x00007fff5fbff24e, argc=<unavailable>, argv=<unavailable>) at toplev.c:2021 frame #19: 0x000000010110f69e f951`main(argc=7, argv=0x00007fff5fbff280) at main.c:39