aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>1997-08-02 21:46:08 +0000
committerRichard Kenner <kenner@vlsi1.ultra.nyu.edu>1997-08-02 21:46:08 +0000
commite0612f87411abc85b440d6c3f0e2b8d5ed05bac2 (patch)
tree3c9ce244d96f3383f90e54dfaa1fd7fc26c9953a
parentd794e715a26625f203eeafa602d426e643c7afba (diff)
(reload): Add IN_ADDR to IN_ADDR_ADDR when computing needs since they conflict.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@14635 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/reload1.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index f777c5b7f8c..a3361abbfad 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1193,7 +1193,6 @@ reload (first, global, dumpfile)
new_basic_block_needs = 1;
}
-
mode = reload_inmode[i];
if (GET_MODE_SIZE (reload_outmode[i]) > GET_MODE_SIZE (mode))
mode = reload_outmode[i];
@@ -1326,10 +1325,9 @@ reload (first, global, dumpfile)
k < reload_n_operands; k++)
{
in_max
- = MAX (in_max, insn_needs.in_addr[k].regs[j][i]);
- in_max
= MAX (in_max,
- insn_needs.in_addr_addr[k].regs[j][i]);
+ (insn_needs.in_addr[k].regs[j][i]
+ + insn_needs.in_addr_addr[k].regs[j][i]));
out_max
= MAX (out_max, insn_needs.out_addr[k].regs[j][i]);
out_max
@@ -5437,12 +5435,14 @@ choose_reload_regs (insn, avoid_return_reg)
register int r = reload_order[j];
/* Ignore reloads that got marked inoperative. */
- if (reload_out[r] == 0 && reload_in[r] == 0 && ! reload_secondary_p[r])
+ if (reload_out[r] == 0 && reload_in[r] == 0
+ && ! reload_secondary_p[r])
continue;
/* If find_reloads chose a to use reload_in or reload_out as a reload
- register, we don't need to chose one. Otherwise, try even if it found
- one since we might save an insn if we find the value lying around. */
+ register, we don't need to chose one. Otherwise, try even if it
+ found one since we might save an insn if we find the value lying
+ around. */
if (reload_in[r] != 0 && reload_reg_rtx[r] != 0
&& (rtx_equal_p (reload_in[r], reload_reg_rtx[r])
|| rtx_equal_p (reload_out[r], reload_reg_rtx[r])))
@@ -5474,9 +5474,9 @@ choose_reload_regs (insn, avoid_return_reg)
an object that is already in a register of the desired class.
This would avoid the need for the secondary reload register.
But this is complex because we can't easily determine what
- objects might want to be loaded via this reload. So let a register
- be allocated here. In `emit_reload_insns' we suppress one of the
- loads in the case described above. */
+ objects might want to be loaded via this reload. So let a
+ register be allocated here. In `emit_reload_insns' we suppress
+ one of the loads in the case described above. */
if (inheritance)
{