From 9b76aa3b1b09b823ab4604a8a3abce76d447a5b9 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 31 Aug 2004 06:31:06 +0000 Subject: [PATCH] revert: re PR rtl-optimization/16590 (Incorrect execution when compiling with -O2) Revert: 2004-08-29 Mark Mitchell PR rtl-optimization/16590 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes. * g++.dg/opt/loop1.C: XFAIL. From-SVN: r86820 --- gcc/ChangeLog | 7 +++++++ gcc/gcse.c | 4 +--- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/opt/loop1.C | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a4aa168673..18a373d5b89 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-08-30 Mark Mitchell + + Revert: + 2004-08-29 Mark Mitchell + PR rtl-optimization/16590 + * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes. + 2004-08-30 Andrew Pinski * hard-reg-set.h: diff --git a/gcc/gcse.c b/gcc/gcse.c index 0d602801594..16d76fe4d6c 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -4463,9 +4463,7 @@ pre_delete (void) expr->reaching_reg = gen_reg_rtx (GET_MODE (SET_DEST (set))); - emit_insn_after (gen_move_insn (SET_DEST (set), - expr->reaching_reg), - insn); + gcse_emit_move_after (expr->reaching_reg, SET_DEST (set), insn); delete_insn (insn); occr->deleted_p = 1; SET_BIT (pre_redundant_insns, INSN_CUID (insn)); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f3dde948c83..8e6d1be2a8e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-08-30 Mark Mitchell + + * g++.dg/opt/loop1.C: XFAIL. + 2004-08-30 Geoffrey Keating * gcc.dg/funcdef-storage-1.c: New. diff --git a/gcc/testsuite/g++.dg/opt/loop1.C b/gcc/testsuite/g++.dg/opt/loop1.C index ad0308e7f95..a90e7a6c6fe 100644 --- a/gcc/testsuite/g++.dg/opt/loop1.C +++ b/gcc/testsuite/g++.dg/opt/loop1.C @@ -1,5 +1,5 @@ // PR rtl-optimization/16590 -// { dg-do run } +// { dg-do run { xfail *-*-* } } // { dg-options "-O2" } extern "C" void abort(); -- 2.30.2