aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-09-28 15:01:41 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-09-28 13:01:41 +0000
commit49ce134feeefc7091574a72c7386773fc6e26889 (patch)
treefcfa9d6d66c718191ab999fbc66e7dd5f6db4cc4
parentece54d544da404f5d0e9c5efd78ff53e9636ce36 (diff)
downloadgcc-49ce134feeefc7091574a72c7386773fc6e26889.zip
gcc-49ce134feeefc7091574a72c7386773fc6e26889.tar.gz
gcc-49ce134feeefc7091574a72c7386773fc6e26889.tar.bz2
gcse.c (replace_store_insn): Use delete_insn.
* gcse.c (replace_store_insn): Use delete_insn. * loop.c (move_movables): Likewise; avoid delete_insn from clobbering notes moved elsewhere. (check_dbra_loop): Use delete_insn. * ssa.c (convert_from_ssa): Likewise. * cse.c (cse_insn): Use delete_insn. From-SVN: r45859
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/cse.c12
-rw-r--r--gcc/gcse.c2
-rw-r--r--gcc/loop.c26
-rw-r--r--gcc/ssa.c2
5 files changed, 25 insertions, 26 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe1ebff..3179182 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (replace_store_insn): Use delete_insn.
+ * loop.c (move_movables): Likewise; avoid delete_insn
+ from clobbering notes moved elsewhere.
+ (check_dbra_loop): Use delete_insn.
+ * ssa.c (convert_from_ssa): Likewise.
+ * cse.c (cse_insn): Use delete_insn.
+
2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
* cpphash.h (struct cpp_buff): Make unsigned.
diff --git a/gcc/cse.c b/gcc/cse.c
index 00019c2..496bea0 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5763,11 +5763,7 @@ cse_insn (insn, libcall_insn)
else if (n_sets == 1 && dest == pc_rtx && src == pc_rtx)
{
/* One less use of the label this insn used to jump to. */
- if (JUMP_LABEL (insn) != 0)
- --LABEL_NUSES (JUMP_LABEL (insn));
- PUT_CODE (insn, NOTE);
- NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
- NOTE_SOURCE_FILE (insn) = 0;
+ delete_insn (insn);
cse_jumps_altered = 1;
/* No more processing for this set. */
sets[i].rtl = 0;
@@ -6310,11 +6306,7 @@ cse_insn (insn, libcall_insn)
&& (tem = single_set (prev_insn)) != 0
&& SET_DEST (tem) == cc0_rtx
&& ! reg_mentioned_p (cc0_rtx, x))
- {
- PUT_CODE (prev_insn, NOTE);
- NOTE_LINE_NUMBER (prev_insn) = NOTE_INSN_DELETED;
- NOTE_SOURCE_FILE (prev_insn) = 0;
- }
+ delete-insn (prev_insn);
prev_insn_cc0 = this_insn_cc0;
prev_insn_cc0_mode = this_insn_cc0_mode;
diff --git a/gcc/gcse.c b/gcc/gcse.c
index e5b6e4a..9a46854 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -6834,7 +6834,7 @@ replace_store_insn (reg, del, bb)
fprintf(gcse_file, "\n");
}
- delete_related_insns (del);
+ delete_insn (del);
}
diff --git a/gcc/loop.c b/gcc/loop.c
index 601828a..d38741a 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1772,7 +1772,7 @@ move_movables (loop, movables, threshold, insn_count)
= gen_rtx_EXPR_LIST (VOIDmode, r1,
gen_rtx_EXPR_LIST (VOIDmode, r2,
regs_may_share));
- delete_related_insns (m->insn);
+ delete_insn (m->insn);
if (new_start == 0)
new_start = i1;
@@ -1803,11 +1803,11 @@ move_movables (loop, movables, threshold, insn_count)
{
temp = XEXP (temp, 0);
while (temp != p)
- temp = delete_related_insns (temp);
+ temp = delete_insn (temp);
}
temp = p;
- p = delete_related_insns (p);
+ p = delete_insn (p);
/* simplify_giv_expr expects that it can walk the insns
at m->insn forwards and see this old sequence we are
@@ -1934,7 +1934,8 @@ move_movables (loop, movables, threshold, insn_count)
if (temp == fn_address_insn)
fn_address_insn = i1;
REG_NOTES (i1) = REG_NOTES (temp);
- delete_related_insns (temp);
+ REG_NOTES (temp) = NULL;
+ delete_insn (temp);
}
if (new_start == 0)
new_start = first;
@@ -1999,6 +2000,7 @@ move_movables (loop, movables, threshold, insn_count)
if (REG_NOTES (i1) == 0)
{
REG_NOTES (i1) = REG_NOTES (p);
+ REG_NOTES (p) = NULL;
/* If there is a REG_EQUAL note present whose value
is not loop invariant, then delete it, since it
@@ -2029,7 +2031,7 @@ move_movables (loop, movables, threshold, insn_count)
}
temp = p;
- delete_related_insns (p);
+ delete_insn (p);
p = NEXT_INSN (p);
/* simplify_giv_expr expects that it can walk the insns
@@ -2101,16 +2103,12 @@ move_movables (loop, movables, threshold, insn_count)
and prevent further processing of it. */
m1->done = 1;
- /* if library call, delete all insn except last, which
- is deleted below */
+ /* if library call, delete all insns. */
if ((temp = find_reg_note (m1->insn, REG_RETVAL,
NULL_RTX)))
- {
- for (temp = XEXP (temp, 0); temp != m1->insn;
- temp = NEXT_INSN (temp))
- delete_related_insns (temp);
- }
- delete_related_insns (m1->insn);
+ delete_insn_chain (XEXP (temp, 0), m1->insn);
+ else
+ delete_insn (m1->insn);
/* Any other movable that loads the same register
MUST be moved. */
@@ -7626,7 +7624,7 @@ check_dbra_loop (loop, insn_count)
end_sequence ();
p = loop_insn_emit_before (loop, 0, bl->biv->insn, tem);
- delete_related_insns (bl->biv->insn);
+ delete_insn (bl->biv->insn);
/* Update biv info to reflect its new status. */
bl->biv->insn = p;
diff --git a/gcc/ssa.c b/gcc/ssa.c
index 55aef89..82be677 100644
--- a/gcc/ssa.c
+++ b/gcc/ssa.c
@@ -2186,7 +2186,7 @@ convert_from_ssa()
{
if (insn == BLOCK_END (bb))
BLOCK_END (bb) = PREV_INSN (insn);
- insn = delete_related_insns (insn);
+ insn = delete_insn (insn);
}
/* Since all the phi nodes come at the beginning of the
block, if we find an ordinary insn, we can stop looking