diff options
author | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-14 12:24:43 +0000 |
---|---|---|
committer | zadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-14 12:24:43 +0000 |
commit | e29831db862269fb7862eae56b51642cae279f44 (patch) | |
tree | 1b9cd90a2e69bb7ed2a67500e6e2e2262544cf81 /gcc/global.c | |
parent | b5264126ac1332b9cbb672c2f99c7b039067bad9 (diff) | |
download | gcc-e29831db862269fb7862eae56b51642cae279f44.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135289 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/global.c')
-rw-r--r-- | gcc/global.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/gcc/global.c b/gcc/global.c index befdc9f367c..cddcac3d0ac 100644 --- a/gcc/global.c +++ b/gcc/global.c @@ -131,31 +131,6 @@ static int local_reg_live_length[FIRST_PSEUDO_REGISTER]; #define SET_REGBIT(TABLE, I, J) SET_HARD_REG_BIT (allocno[I].TABLE, J) -/* This is turned off because it doesn't work right for DImode. - (And it is only used for DImode, so the other cases are worthless.) - The problem is that it isn't true that there is NO possibility of conflict; - only that there is no conflict if the two pseudos get the exact same regs. - If they were allocated with a partial overlap, there would be a conflict. - We can't safely turn off the conflict unless we have another way to - prevent the partial overlap. - - Idea: change hard_reg_conflicts so that instead of recording which - hard regs the allocno may not overlap, it records where the allocno - may not start. Change both where it is used and where it is updated. - Then there is a way to record that (reg:DI 108) may start at 10 - but not at 9 or 11. There is still the question of how to record - this semi-conflict between two pseudos. */ -#if 0 -/* Reg pairs for which conflict after the current insn - is inhibited by a REG_NO_CONFLICT note. - If the table gets full, we ignore any other notes--that is conservative. */ -#define NUM_NO_CONFLICT_PAIRS 4 -/* Number of pairs in use in this insn. */ -int n_no_conflict_pairs; -static struct { int allocno1, allocno2;} - no_conflict_pairs[NUM_NO_CONFLICT_PAIRS]; -#endif /* 0 */ - /* Return true if *LOC contains an asm. */ static int |