reload1.c (reload_reg_free_for_value_p): When considered reload has an output...
* reload1.c (reload_reg_free_for_value_p): When considered reload has an output, matching inputs are not sufficient to avoid conflict. From-SVN: r23687
This commit is contained in:
parent
7ddedda4aa
commit
25963977c6
@ -1,3 +1,8 @@
|
||||
Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* reload1.c (reload_reg_free_for_value_p): When considered reload
|
||||
has an output, matching inputs are not sufficient to avoid conflict.
|
||||
|
||||
Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
|
||||
|
||||
* hash.h (hash_table_key): New type.
|
||||
|
@ -5152,7 +5152,7 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
|
||||
&& i != reloadnum)
|
||||
{
|
||||
if (! reload_in[i] || ! rtx_equal_p (reload_in[i], value)
|
||||
|| reload_out[i])
|
||||
|| reload_out[i] || out)
|
||||
{
|
||||
int time2;
|
||||
switch (reload_when_needed[i])
|
||||
@ -5246,8 +5246,10 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
if (time1 >= time2
|
||||
|| (out && time2 >= MAX_RECOG_OPERANDS * 4 + 4))
|
||||
if ((time1 >= time2
|
||||
&& (! reload_in[i] || reload_out[i]
|
||||
|| ! rtx_equal_p (reload_in[i], value)))
|
||||
|| (out && time2 >= MAX_RECOG_OPERANDS * 4 + 3))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user