has an output, matching inputs are not sufficient to avoid conflict.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23687
138bc75d-0d04-0410-961f-
82ee72b054a4
+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.
&& 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])
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;
}
}