reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and auto_inc_dec values.
* reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and auto_inc_dec values. From-SVN: r49118
This commit is contained in:
parent
7458a9f030
commit
38979c6587
@ -1,3 +1,8 @@
|
||||
2002-01-22 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
|
||||
auto_inc_dec values.
|
||||
|
||||
2002-01-22 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
|
||||
|
@ -6166,7 +6166,8 @@ reg_overlap_mentioned_for_reload_p (x, in)
|
||||
int regno, endregno;
|
||||
|
||||
/* Overly conservative. */
|
||||
if (GET_CODE (x) == STRICT_LOW_PART)
|
||||
if (GET_CODE (x) == STRICT_LOW_PART
|
||||
|| GET_RTX_CLASS (GET_CODE (x)) == 'a')
|
||||
x = XEXP (x, 0);
|
||||
|
||||
/* If either argument is a constant, then modifying X can not affect IN. */
|
||||
@ -6202,6 +6203,9 @@ reg_overlap_mentioned_for_reload_p (x, in)
|
||||
else if (GET_CODE (x) == SCRATCH || GET_CODE (x) == PC
|
||||
|| GET_CODE (x) == CC0)
|
||||
return reg_mentioned_p (x, in);
|
||||
else if (GET_CODE (x) == PLUS)
|
||||
return (reg_overlap_mentioned_for_reload_p (XEXP (x, 0), in)
|
||||
|| reg_overlap_mentioned_for_reload_p (XEXP (x, 1), in));
|
||||
else
|
||||
abort ();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user