aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-03-03 22:30:52 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1992-03-03 22:30:52 -0500
commita419da6137e980685cf4d10cf363f39935b86b8c (patch)
treea6cc6e792deb159d57165dbe1f336269f2475d84
parentd38cfc1e108696c2c26040c2147ca49be338bed1 (diff)
downloadgcc-a419da6137e980685cf4d10cf363f39935b86b8c.zip
gcc-a419da6137e980685cf4d10cf363f39935b86b8c.tar.gz
gcc-a419da6137e980685cf4d10cf363f39935b86b8c.tar.bz2
*** empty log message ***
From-SVN: r388
-rw-r--r--gcc/reorg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index e237b07..b750528 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -2081,6 +2081,12 @@ mark_target_live_regs (target, res)
#endif
)
CLEAR_HARD_REG_BIT (current_live_regs, i);
+
+ /* A CALL_INSN sets any global register live, since it may
+ have been modified by the call. */
+ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
+ if (global_regs[i])
+ SET_HARD_REG_BIT (current_live_regs, i);
}
/* Mark anything killed in an insn to be deadened at the next