(CEIL): Delete.
(restore_referenced_regs): New var NUMREGS. Pass NUMREGS to insert_save_restore instead of using using CEIL. From-SVN: r3427
This commit is contained in:
parent
0b298be417
commit
193013107a
@ -28,8 +28,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||||||
#include "reload.h"
|
#include "reload.h"
|
||||||
#include "expr.h"
|
#include "expr.h"
|
||||||
|
|
||||||
#define CEIL(x,y) (((x) + (y) - 1) / (y))
|
|
||||||
|
|
||||||
/* Modes for each hard register that we can save. The smallest mode is wide
|
/* Modes for each hard register that we can save. The smallest mode is wide
|
||||||
enough to save the entire contents of the register. When saving the
|
enough to save the entire contents of the register. When saving the
|
||||||
register because it is live we first try to save in multi-register modes.
|
register because it is live we first try to save in multi-register modes.
|
||||||
@ -604,12 +602,13 @@ restore_referenced_regs (x, insn, insn_mode)
|
|||||||
|
|
||||||
else if (regno < FIRST_PSEUDO_REGISTER)
|
else if (regno < FIRST_PSEUDO_REGISTER)
|
||||||
{
|
{
|
||||||
int endregno = regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
|
int numregs = MIN (HARD_REGNO_NREGS (regno, GET_MODE (x)),
|
||||||
|
MOVE_MAX / UNITS_PER_WORD);
|
||||||
|
int endregno = regno + numregs;
|
||||||
|
|
||||||
for (i = regno; i < endregno; i++)
|
for (i = regno; i < endregno; i++)
|
||||||
if (TEST_HARD_REG_BIT (hard_regs_need_restore, i))
|
if (TEST_HARD_REG_BIT (hard_regs_need_restore, i))
|
||||||
i += insert_save_restore (insn, 0, i, insn_mode,
|
i += insert_save_restore (insn, 0, i, insn_mode, numregs);
|
||||||
CEIL (GET_MODE_SIZE (GET_MODE (x)), UNITS_PER_WORD));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user