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)
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;
-2007-06-18 Martin Michlmayr <tbm@cyrius.com>
-
- PR rtl-optimization/32339
- * gcc.c-torture/compile/pr32339.c: New test.
-
2007-06-18 Kenneth Zadeck <zadeck@naturalbridge.com>
* gcc.c-torture/compile/pr32355.c: New testcase.
+++ /dev/null
-/* We used to ICE in insert_save at caller-save.c,
- due to missing REG_DEAD for register use in post-decrement on ia64. */
-struct city_dialog
-{
- struct city *pcity;
- char change_list_names[200][200];
- int change_list_ids[200];
-};
-change_callback (void)
-{
- struct city_dialog *pdialog;
- int n;
- int i;
- get_city_dialog_production_full (pdialog->change_list_names[n],
- pdialog->pcity);
- pdialog->change_list_ids[n++] = i;
-}