http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56978
Bug #: 56978 Summary: memset-chk.c failure since r197671 Classification: Unclassified Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: kreb...@gcc.gnu.org /home/andreas/clean/gcc-head-build/gcc/xgcc -B/home/andreas/clean/gcc-head-build/gcc/ /home/andreas/clean/gcc-head/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c /home/andreas/clean/gcc-head/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk-lib.c /home/andreas/clean/gcc-head/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c -fno-diagnostics-show-caret -w -O3 -fomit-frame-pointer -funroll-loops -fno-tree-loop-distribute-patterns -lm -o /home/andreas/clean/gcc-head-build/gcc/testsuite/gcc5/memset-chk.x /home/andreas/clean/gcc-head/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c: In function ‘test5’: /home/andreas/clean/gcc-head/gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c:552:1: internal compiler error: in emit_move_insn_1, at expr.c:3428 0x802f712b emit_move_insn_1(rtx_def*, rtx_def*) /home/andreas/clean/gcc-head/gcc/expr.c:3428 0x802f71c5 emit_move_insn(rtx_def*, rtx_def*) /home/andreas/clean/gcc-head/gcc/expr.c:3526 0x802d68bb force_reg /home/andreas/clean/gcc-head/gcc/explow.c:676 0x802f8053 convert_move(rtx_def*, rtx_def*, int) /home/andreas/clean/gcc-head/gcc/expr.c:590 0x802f87b9 convert_modes(machine_mode, machine_mode, rtx_def*, int) /home/andreas/clean/gcc-head/gcc/expr.c:781 0x804bd919 expand_binop_directly /home/andreas/clean/gcc-head/gcc/optabs.c:1427 0x804bb57f expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /home/andreas/clean/gcc-head/gcc/optabs.c:1543 0x804bd70d expand_simple_binop(machine_mode, rtx_code, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /home/andreas/clean/gcc-head/gcc/optabs.c:1291 0x802fb645 force_operand(rtx_def*, rtx_def*) /home/andreas/clean/gcc-head/gcc/expr.c:7054 0x8094d3c3 doloop_modify /home/andreas/clean/gcc-head/gcc/loop-doloop.c:480 0x8094d3c3 doloop_optimize /home/andreas/clean/gcc-head/gcc/loop-doloop.c:750 0x8094d3c3 doloop_optimize_loops() /home/andreas/clean/gcc-head/gcc/loop-doloop.c:764 0x804549d7 rtl_doloop /home/andreas/clean/gcc-head/gcc/loop-init.c:543 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Reghunt indicates that the error has been introduced with: 2013-04-10 Richard Biener <rguent...@suse.de> * passes.c (execute_todo): Do not call ggc_collect conditional here. (execute_one_ipa_transform_pass): But unconditionally here. (execute_one_pass): And here. (init_optimization_passes): Remove reload pass. * tree-pass.h (TODO_ggc_collect): Remove. (pass_reload): Likewise. * ira.c (do_reload): Merge into ... (ira): ... this. (rest_of_handle_reload): Remove. (pass_reload): Likewise. * config/i386/i386.c (ix86_option_override): Refer to ira instead of reload for vzeroupper pass placement. * <everywhere>: Remove TODO_ggc_collect from todo_flags_start and todo_flags_finish of all passes. * g++.dg/pr55604.C: Use -fdump-rtl-ira.