diff options
author | spark <spark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-18 20:35:22 +0000 |
---|---|---|
committer | spark <spark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-18 20:35:22 +0000 |
commit | a0877a20338f2e5dbc1d2162119ea0feba2dd261 (patch) | |
tree | a72e7e3efcccc7e66cbb09532d8a7223b2d90501 /gcc/gcse.c | |
parent | 5792283dd09b820a055e4777e718a14f1d1126d2 (diff) | |
download | ppe42-gcc-a0877a20338f2e5dbc1d2162119ea0feba2dd261.tar.gz ppe42-gcc-a0877a20338f2e5dbc1d2162119ea0feba2dd261.zip |
Revert 125825 due to mismatching patch/changelog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index 8278714cefe..828ee6b3254 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -6341,6 +6341,17 @@ replace_store_insn (rtx reg, rtx del, basic_block bb, struct ls_expr *smexpr) mem = smexpr->pattern; insn = gen_move_insn (reg, SET_SRC (single_set (del))); + insn = emit_insn_after (insn, del); + + if (dump_file) + { + fprintf (dump_file, + "STORE_MOTION delete insn in BB %d:\n ", bb->index); + print_inline_rtx (dump_file, del, 6); + fprintf (dump_file, "\nSTORE MOTION replaced with insn:\n "); + print_inline_rtx (dump_file, insn, 6); + fprintf (dump_file, "\n"); + } for (ptr = ANTIC_STORE_LIST (smexpr); ptr; ptr = XEXP (ptr, 1)) if (XEXP (ptr, 0) == del) @@ -6368,20 +6379,6 @@ replace_store_insn (rtx reg, rtx del, basic_block bb, struct ls_expr *smexpr) XEXP (note, 0) = insn; } - /* Emit the insn AFTER all the notes are transferred. - This is cheaper since we avoid df rescanning for the note change. */ - insn = emit_insn_after (insn, del); - - if (dump_file) - { - fprintf (dump_file, - "STORE_MOTION delete insn in BB %d:\n ", bb->index); - print_inline_rtx (dump_file, del, 6); - fprintf (dump_file, "\nSTORE MOTION replaced with insn:\n "); - print_inline_rtx (dump_file, insn, 6); - fprintf (dump_file, "\n"); - } - delete_insn (del); /* Now we must handle REG_EQUAL notes whose contents is equal to the mem; |