mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 08:50:26 +08:00
Generate REG_EQUAL notes when they'd be helpful
From-SVN: r36409
This commit is contained in:
parent
cad396c8b0
commit
2f93c5c355
@ -1,3 +1,10 @@
|
||||
2000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
|
||||
|
||||
From Joern Rennecke:
|
||||
* local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
|
||||
on an insn and function_invariant_p returns nonzero for the source,
|
||||
add a REG_EQUAL note.
|
||||
|
||||
Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
|
||||
|
||||
* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
|
||||
|
@ -787,6 +787,13 @@ update_equiv_regs ()
|
||||
|
||||
note = find_reg_note (insn, REG_EQUAL, NULL_RTX);
|
||||
|
||||
/* cse sometimes generates function invariants, but doesn't put a
|
||||
REG_EQUAL note on the insn. Since this note would be redundant,
|
||||
there's no point creating it earlier than here. */
|
||||
if (! note && function_invariant_p (src))
|
||||
REG_NOTES (insn)
|
||||
= note = gen_rtx_EXPR_LIST (REG_EQUAL, src, REG_NOTES (insn));
|
||||
|
||||
if (REG_N_SETS (regno) != 1
|
||||
&& (! note
|
||||
|| ! function_invariant_p (XEXP (note, 0))
|
||||
|
Loading…
x
Reference in New Issue
Block a user