From 1e326708e83b2e03807c689f14ed3772cd346efc Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Wed, 30 Sep 1998 18:09:47 +0000 Subject: regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro. * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro. * local-alloc.c (find_free_reg): Use it. * global.c (find_reg): Likewise. * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED. From-SVN: r22688 --- gcc/global.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/global.c') diff --git a/gcc/global.c b/gcc/global.c index a3d7e023283..3b0c0ec7a4c 100644 --- a/gcc/global.c +++ b/gcc/global.c @@ -976,7 +976,10 @@ find_reg (allocno, losers, alt_regs_p, accept_call_clobbered, retrying) int regno = i; #endif if (! TEST_HARD_REG_BIT (used, regno) - && HARD_REGNO_MODE_OK (regno, mode)) + && HARD_REGNO_MODE_OK (regno, mode) + && (allocno_calls_crossed[allocno] == 0 + || accept_call_clobbered + || ! HARD_REGNO_CALL_PART_CLOBBERED (regno, mode))) { register int j; register int lim = regno + HARD_REGNO_NREGS (regno, mode); -- cgit v1.2.1