regmove.c (struct csa_memlist): Make mem field rtx *.
* regmove.c (struct csa_memlist): Make mem field rtx *. (record_one_stack_ref): Accept rtx * instead of rtx as parameter. (try_apply_stack_adjustment): Replace whole MEM rtx. (combine_stack_adjustments_for_block): Update calls to record_one_stack_ref. From-SVN: r32782
This commit is contained in:
parent
04e3ec7803
commit
5a97f7c2d7
|
@ -1,3 +1,11 @@
|
|||
Tue Mar 28 08:29:46 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* regmove.c (struct csa_memlist): Make mem field rtx *.
|
||||
(record_one_stack_ref): Accept rtx * instead of rtx as parameter.
|
||||
(try_apply_stack_adjustment): Replace whole MEM rtx.
|
||||
(combine_stack_adjustments_for_block): Update calls
|
||||
to record_one_stack_ref.
|
||||
|
||||
2000-03-28 Neil Booth <NeilB@earthling.net>
|
||||
|
||||
* (cpplex.c) _cpp_read_and_prescan. Mark end of input buffer with
|
||||
|
|
|
@ -2088,7 +2088,7 @@ stable_and_no_regs_but_for_p (x, src, dst)
|
|||
struct csa_memlist
|
||||
{
|
||||
HOST_WIDE_INT sp_offset;
|
||||
rtx insn, mem;
|
||||
rtx insn, *mem;
|
||||
struct csa_memlist *next;
|
||||
};
|
||||
|
||||
|
@ -2096,7 +2096,7 @@ static int stack_memref_p PARAMS ((rtx));
|
|||
static rtx single_set_for_csa PARAMS ((rtx));
|
||||
static void free_csa_memlist PARAMS ((struct csa_memlist *));
|
||||
static struct csa_memlist *record_one_stack_memref
|
||||
PARAMS ((rtx, rtx, struct csa_memlist *));
|
||||
PARAMS ((rtx, rtx *, struct csa_memlist *));
|
||||
static int try_apply_stack_adjustment
|
||||
PARAMS ((rtx, struct csa_memlist *, HOST_WIDE_INT, HOST_WIDE_INT));
|
||||
static void combine_stack_adjustments_for_block PARAMS ((basic_block));
|
||||
|
@ -2188,17 +2188,17 @@ free_csa_memlist (memlist)
|
|||
|
||||
static struct csa_memlist *
|
||||
record_one_stack_memref (insn, mem, next_memlist)
|
||||
rtx insn, mem;
|
||||
rtx insn, *mem;
|
||||
struct csa_memlist *next_memlist;
|
||||
{
|
||||
struct csa_memlist *ml;
|
||||
|
||||
ml = (struct csa_memlist *) xmalloc (sizeof (*ml));
|
||||
|
||||
if (XEXP (mem, 0) == stack_pointer_rtx)
|
||||
if (XEXP (*mem, 0) == stack_pointer_rtx)
|
||||
ml->sp_offset = 0;
|
||||
else
|
||||
ml->sp_offset = INTVAL (XEXP (XEXP (mem, 0), 1));
|
||||
ml->sp_offset = INTVAL (XEXP (XEXP (*mem, 0), 1));
|
||||
|
||||
ml->insn = insn;
|
||||
ml->mem = mem;
|
||||
|
@ -2241,8 +2241,9 @@ try_apply_stack_adjustment (insn, memlist, new_adjust, delta)
|
|||
return 0;
|
||||
}
|
||||
|
||||
validate_change (ml->insn, &XEXP (ml->mem, 0),
|
||||
plus_constant (stack_pointer_rtx, c), 1);
|
||||
validate_change (ml->insn, ml->mem,
|
||||
gen_rtx_MEM (GET_MODE (*ml->mem),
|
||||
plus_constant (stack_pointer_rtx, c)), 1);
|
||||
}
|
||||
|
||||
if (apply_change_group ())
|
||||
|
@ -2340,7 +2341,7 @@ combine_stack_adjustments_for_block (bb)
|
|||
if (last_sp_set && stack_memref_p (src)
|
||||
&& ! reg_mentioned_p (stack_pointer_rtx, dest))
|
||||
{
|
||||
memlist = record_one_stack_memref (insn, src, memlist);
|
||||
memlist = record_one_stack_memref (insn, &SET_SRC (set), memlist);
|
||||
goto processed;
|
||||
}
|
||||
|
||||
|
@ -2348,7 +2349,8 @@ combine_stack_adjustments_for_block (bb)
|
|||
if (last_sp_set && stack_memref_p (dest)
|
||||
&& ! reg_mentioned_p (stack_pointer_rtx, src))
|
||||
{
|
||||
memlist = record_one_stack_memref (insn, dest, memlist);
|
||||
memlist = record_one_stack_memref (insn, &SET_DEST (set),
|
||||
memlist);
|
||||
goto processed;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue