(form_sum): Change the way that form_sum canonicalizes addresses...
(form_sum): Change the way that form_sum canonicalizes addresses, so that it never creates (PLUS (PLUS MEM CONST_INT) REG) but instead canonicallizes this to (PLUS (PLUS REG CONST_INT) MEM). From-SVN: r5506
This commit is contained in:
parent
bc3d852183
commit
0ec1e3690e
|
@ -4324,7 +4324,10 @@ form_sum (x, y)
|
|||
|
||||
/* Note that if the operands of Y are specified in the opposite
|
||||
order in the recursive calls below, infinite recursion will occur. */
|
||||
if (GET_CODE (y) == PLUS && CONSTANT_P (XEXP (y, 1)))
|
||||
if (GET_CODE (y) == PLUS && CONSTANT_P (XEXP (y, 1))
|
||||
/* Moving the constant in with the MEM yields rtl that reload may not
|
||||
be able to handle when this is an address calculation. */
|
||||
&& GET_CODE (x) != MEM)
|
||||
return form_sum (form_sum (x, XEXP (y, 0)), XEXP (y, 1));
|
||||
|
||||
/* If both constant, encapsulate sum. Otherwise, just form sum. A
|
||||
|
|
Loading…
Reference in New Issue