diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-08-29 19:40:20 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-08-29 19:40:20 +0000 |
commit | 5e9f78cc748e907a69955f0b88fecf2686683843 (patch) | |
tree | 645bc4e2cc150466118e298ff666849d6252a5c7 /gcc/gcse.c | |
parent | 477a21f7f9b31c687d45f1001dd93c90df52cf29 (diff) | |
download | gcc-5e9f78cc748e907a69955f0b88fecf2686683843.zip gcc-5e9f78cc748e907a69955f0b88fecf2686683843.tar.gz gcc-5e9f78cc748e907a69955f0b88fecf2686683843.tar.bz2 |
re PR rtl-optimization/16590 (Incorrect execution when compiling with -O2)
PR rtl-optimization/16590
* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
PR rtl-optimization/16590
* g++.dg/opt/loop1.C: New test.
From-SVN: r86732
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -4463,7 +4463,9 @@ pre_delete (void) expr->reaching_reg = gen_reg_rtx (GET_MODE (SET_DEST (set))); - gcse_emit_move_after (expr->reaching_reg, SET_DEST (set), insn); + emit_insn_after (gen_move_insn (SET_DEST (set), + expr->reaching_reg), + insn); delete_insn (insn); occr->deleted_p = 1; SET_BIT (pre_redundant_insns, INSN_CUID (insn)); |