From 09e35f5c0aaaf7c627c30e2344f6e16e6f215904 Mon Sep 17 00:00:00 2001 From: sewardj Date: Thu, 18 Jan 2001 11:33:08 +0000 Subject: [PATCH] [project @ 2001-01-18 11:33:08 by sewardj] On sparc, do not make %i7 and %o7 available for allocation. Quite how it ever worked before I don't know (and I bootstrapped the compiler with the sparc NCG). Perhaps it was all just an illusion. Reminds me of how Bobby Ewing was (utterly implausibly) bought back to life in Dallas. --- ghc/compiler/nativeGen/MachRegs.lhs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ghc/compiler/nativeGen/MachRegs.lhs b/ghc/compiler/nativeGen/MachRegs.lhs index f30a1cb..904b612 100644 --- a/ghc/compiler/nativeGen/MachRegs.lhs +++ b/ghc/compiler/nativeGen/MachRegs.lhs @@ -913,7 +913,9 @@ freeReg g5 = fastBool False -- %g5 is reserved (ABI). freeReg g6 = fastBool False -- %g6 is reserved (ABI). freeReg g7 = fastBool False -- %g7 is reserved (ABI). freeReg i6 = fastBool False -- %i6 is our frame pointer. +freeReg i7 = fastBool False -- %i7 tends to have ret-addr-ish things freeReg o6 = fastBool False -- %o6 is our stack pointer. +freeReg o7 = fastBool False -- %o7 holds ret addrs (???) freeReg f0 = fastBool False -- %f0/%f1 are the C fp return registers. freeReg f1 = fastBool False #endif -- 1.7.10.4