summaryrefslogtreecommitdiffstats
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorspark <spark@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-18 20:35:22 +0000
committerspark <spark@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-18 20:35:22 +0000
commita0877a20338f2e5dbc1d2162119ea0feba2dd261 (patch)
treea72e7e3efcccc7e66cbb09532d8a7223b2d90501 /gcc/gcse.c
parent5792283dd09b820a055e4777e718a14f1d1126d2 (diff)
downloadppe42-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.c25
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;
OpenPOWER on IntegriCloud