PR c/6689, PR optimization/6615
2002-05-17 David S. Miller <davem@redhat.com> PR c/6689, PR optimization/6615 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p' and make it a pointer to rtx. Update comments. (update_equiv_regs): When scanning for equivalences, record address of SET_SRC (set) in reg_equiv[].src_p. Dereference it while making the equiv replacements. From-SVN: r53561
This commit is contained in:
parent
508bc1723a
commit
5ca9299f10
@ -1,3 +1,12 @@
|
||||
2002-05-17 David S. Miller <davem@redhat.com>
|
||||
|
||||
PR c/6689, PR optimization/6615
|
||||
* local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
|
||||
and make it a pointer to rtx. Update comments.
|
||||
(update_equiv_regs): When scanning for equivalences, record
|
||||
address of SET_SRC (set) in reg_equiv[].src_p. Dereference
|
||||
it while making the equiv replacements.
|
||||
|
||||
2002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
|
||||
|
@ -245,7 +245,7 @@ static rtx this_insn;
|
||||
struct equivalence
|
||||
{
|
||||
/* Set when an attempt should be made to replace a register
|
||||
with the associated src entry. */
|
||||
with the associated src_p entry. */
|
||||
|
||||
char replace;
|
||||
|
||||
@ -255,7 +255,7 @@ struct equivalence
|
||||
|
||||
rtx replacement;
|
||||
|
||||
rtx src;
|
||||
rtx *src_p;
|
||||
|
||||
/* Loop depth is used to recognize equivalences which appear
|
||||
to be present within the same loop (or in an inner loop). */
|
||||
@ -1005,7 +1005,7 @@ update_equiv_regs ()
|
||||
recorded_label_ref = 1;
|
||||
|
||||
reg_equiv[regno].replacement = XEXP (note, 0);
|
||||
reg_equiv[regno].src = src;
|
||||
reg_equiv[regno].src_p = &SET_SRC (set);
|
||||
reg_equiv[regno].loop_depth = loop_depth;
|
||||
|
||||
/* Don't mess with things live during setjmp. */
|
||||
@ -1087,7 +1087,7 @@ update_equiv_regs ()
|
||||
|
||||
if (asm_noperands (PATTERN (equiv_insn)) < 0
|
||||
&& validate_replace_rtx (regno_reg_rtx[regno],
|
||||
reg_equiv[regno].src, insn))
|
||||
*(reg_equiv[regno].src_p), insn))
|
||||
{
|
||||
rtx equiv_link;
|
||||
rtx last_link;
|
||||
|
Loading…
Reference in New Issue
Block a user