aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-07-01 01:15:07 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-07-01 01:15:07 +0000
commit6001794def1de775fa296fa60b8bf5630dc97736 (patch)
tree5598774dfea689770b311deffdc2ccd8112d6016 /gcc/cse.c
parent7d896ee96b213c6e77acd70f44bfb18d1a72c905 (diff)
downloadgcc-6001794def1de775fa296fa60b8bf5630dc97736.zip
gcc-6001794def1de775fa296fa60b8bf5630dc97736.tar.gz
gcc-6001794def1de775fa296fa60b8bf5630dc97736.tar.bz2
combine.c (distribute_notes): Don't bother REG_WAS_0.
* combine.c (distribute_notes): Don't bother REG_WAS_0. * cse.c (cse_insn): Likewise. * final.c (final_scan_insn): Likewise. * jump.c (duplicate_loop_exit_test): Likewise. * rtl.c (reg_note_name): Remove REG_WAS_0. * rtl.h (REG_WAS_0): Remove. * unroll.c (final_reg_note_copy): Don't bother REG_WAS_0. * config/avr/avr.c (output_movqi): Don't use reg_was_0. (output_movhi): Likewise. (output_movsisf): Likewise. (reg_was_0): Remove. * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use REG_WAS_0. (m68hc11_gen_movqi): Likewise. * config/vax/vax-protos.h: Remove the prototype for reg_was_0_p. * config/vax/vax.c (follows_p): Remove. (reg_was_0_p): Likewise. * config/vax/vax.md (movsi): Don't use reg_was_0_p. (movhi): Likewise. (movqi): Likewise. * doc/rtl.texi (REG_WAS_0): Remove. From-SVN: r68753
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c49
1 files changed, 0 insertions, 49 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index f01c812..5e6c9e4 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5598,41 +5598,6 @@ cse_insn (rtx insn, rtx libcall_insn)
making a new one if one does not already exist. */
set_unique_reg_note (insn, REG_EQUAL, src_const);
}
-
- /* If storing a constant value in a register that
- previously held the constant value 0,
- record this fact with a REG_WAS_0 note on this insn.
-
- Note that the *register* is required to have previously held 0,
- not just any register in the quantity and we must point to the
- insn that set that register to zero.
-
- Rather than track each register individually, we just see if
- the last set for this quantity was for this register. */
-
- if (REGNO_QTY_VALID_P (REGNO (dest)))
- {
- int dest_q = REG_QTY (REGNO (dest));
- struct qty_table_elem *dest_ent = &qty_table[dest_q];
-
- if (dest_ent->const_rtx == const0_rtx)
- {
- /* See if we previously had a REG_WAS_0 note. */
- rtx note = find_reg_note (insn, REG_WAS_0, NULL_RTX);
- rtx const_insn = dest_ent->const_insn;
-
- if ((tem = single_set (const_insn)) != 0
- && rtx_equal_p (SET_DEST (tem), dest))
- {
- if (note)
- XEXP (note, 0) = const_insn;
- else
- REG_NOTES (insn)
- = gen_rtx_INSN_LIST (REG_WAS_0, const_insn,
- REG_NOTES (insn));
- }
- }
- }
}
/* Now deal with the destination. */
@@ -6238,20 +6203,6 @@ cse_insn (rtx insn, rtx libcall_insn)
validate_change (insn, &SET_SRC (sets[0].rtl), dest, 1);
apply_change_group ();
- /* If there was a REG_WAS_0 note on PREV, remove it. Move
- any REG_WAS_0 note on INSN to PREV. */
- note = find_reg_note (prev, REG_WAS_0, NULL_RTX);
- if (note)
- remove_note (prev, note);
-
- note = find_reg_note (insn, REG_WAS_0, NULL_RTX);
- if (note)
- {
- remove_note (insn, note);
- XEXP (note, 1) = REG_NOTES (prev);
- REG_NOTES (prev) = note;
- }
-
/* If INSN has a REG_EQUAL note, and this note mentions
REG0, then we must delete it, because the value in
REG0 has changed. If the note's value is REG1, we must