From: sewardj Date: Thu, 18 Jan 2001 11:33:08 +0000 (+0000) Subject: [project @ 2001-01-18 11:33:08 by sewardj] X-Git-Tag: Approximately_9120_patches~2861 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=09e35f5c0aaaf7c627c30e2344f6e16e6f215904;p=ghc-hetmet.git [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. --- 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