diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2008-05-14 12:24:43 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2008-05-14 12:24:43 +0000 |
commit | d70dcf2945e7e09446f3a03f1b12ced3543f9d33 (patch) | |
tree | 1b9cd90a2e69bb7ed2a67500e6e2e2262544cf81 /gcc/lower-subreg.c | |
parent | cc44abe6a5bedb27256cfb8b2c9d42c3873ceacd (diff) | |
download | gcc-d70dcf2945e7e09446f3a03f1b12ced3543f9d33.zip gcc-d70dcf2945e7e09446f3a03f1b12ced3543f9d33.tar.gz gcc-d70dcf2945e7e09446f3a03f1b12ced3543f9d33.tar.bz2 |
rtl.texi: Removed reference to REG_NO_CONFLICT notes.
2008-05-14 Kenneth Zadeck <zadeck@naturalbridge.com>
* doc/rtl.texi: Removed reference to REG_NO_CONFLICT notes.
* optabs.c (expand_binop, expand_absneg_bit, expand_unop,
expand_copysign_bit, ): Change call to emit_no_conflict_block to
emit_insn and remove unneeded code to construct extra args.
(emit_no_conflict_block): Removed.
* optabls.h: (emit_no_conflict_block): Removed.
* cse.c (cse_extended_basic_block): Remove search for
REG_NO_CONFLICT note.
* global.c: Removed incorrect comment added in revision 117.
* expr.c (convert_move): Change call to emit_no_conflict_block to
emit_insn.
* recog.c: Change comments so that they do not mention
REG_NO_CONFLICT.
* local_alloc.c (combine_regs): Removed last parameter.
(no_conflict_p): Removed.
(block_alloc): Removed note, no_conflict_combined_regno and set
local vars. Removed all code to process REG_NO_CONFLICT blocks.
(combine_regs): Removed already_dead and code to look for
REG_NO_CONFLICT notes.
* lower_subreg (remove_retval_note): Removed code to look for
REG_NO_CONFLICT block.
(resolve_reg_notes): Removed REG_NO_CONFLICT case.
(resolve_clobber): Remove code to process libcalls that have
REG_NO_CONFLICT notes.
* loop_invariant.c (find_invariant_insn): Removed REG_NO_CONFLICT
case.
* combine.c (can_combine_p, distribute_notes): Removed REG_NO_CONFLICT
case.
* config/cris/cris.md (movdi pattern): Changed
emit_no_conflict_block to emit_insns.
* config/mn10300/mn10300.md (absdf2, negdf2 patterns): Ditto.
* config/m68k/m68k.md (negdf2, negxf2, absdf2, absxf2 patterns):
Ditto.
* reg-notes.def (NO_CONFLICT): Removed.
From-SVN: r135289
Diffstat (limited to 'gcc/lower-subreg.c')
-rw-r--r-- | gcc/lower-subreg.c | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index c3b29a8..2192260 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -586,7 +586,7 @@ move_libcall_note (rtx old_start, rtx new_start) static void remove_retval_note (rtx insn1) { - rtx note0, insn0, note1, insn; + rtx note0, insn0, note1; note1 = find_reg_note (insn1, REG_RETVAL, NULL); if (note1 == NULL_RTX) @@ -597,19 +597,6 @@ remove_retval_note (rtx insn1) remove_note (insn0, note0); remove_note (insn1, note1); - - for (insn = insn0; insn != insn1; insn = NEXT_INSN (insn)) - { - while (1) - { - rtx note; - - note = find_reg_note (insn, REG_NO_CONFLICT, NULL); - if (note == NULL_RTX) - break; - remove_note (insn, note); - } - } } /* Resolve any decomposed registers which appear in register notes on @@ -642,7 +629,6 @@ resolve_reg_notes (rtx insn) note = *pnote; switch (REG_NOTE_KIND (note)) { - case REG_NO_CONFLICT: case REG_DEAD: case REG_UNUSED: if (resolve_reg_p (XEXP (note, 0))) @@ -897,7 +883,7 @@ resolve_simple_move (rtx set, rtx insn) static bool resolve_clobber (rtx pat, rtx insn) { - rtx reg, note; + rtx reg; enum machine_mode orig_mode; unsigned int words, i; int ret; @@ -906,17 +892,6 @@ resolve_clobber (rtx pat, rtx insn) if (!resolve_reg_p (reg) && !resolve_subreg_p (reg)) return false; - /* If this clobber has a REG_LIBCALL note, then it is the initial - clobber added by emit_no_conflict_block. We were able to - decompose the register, so we no longer need the clobber. */ - note = find_reg_note (insn, REG_LIBCALL, NULL_RTX); - if (note != NULL_RTX) - { - remove_retval_note (XEXP (note, 0)); - delete_insn (insn); - return true; - } - orig_mode = GET_MODE (reg); words = GET_MODE_SIZE (orig_mode); words = (words + UNITS_PER_WORD - 1) / UNITS_PER_WORD; |