[commit: ghc] wip/T16106: CodeGen: Remove PowerPC Darwin support (10865da)
git at git.haskell.org
git at git.haskell.org
Mon Dec 31 12:09:48 UTC 2018
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T16106
Link : http://ghc.haskell.org/trac/ghc/changeset/10865da0c6180b56084681ec7f2e8ba8291ccb88/ghc
>---------------------------------------------------------------
commit 10865da0c6180b56084681ec7f2e8ba8291ccb88
Author: Peter Trommler <ptrommler at acm.org>
Date: Mon Dec 31 13:05:17 2018 +0100
CodeGen: Remove PowerPC Darwin support
>---------------------------------------------------------------
10865da0c6180b56084681ec7f2e8ba8291ccb88
compiler/codeGen/CodeGen/Platform.hs | 21 +++++----------------
compiler/ghc.cabal.in | 1 -
includes/CodeGen.Platform.hs | 1 -
includes/stg/MachRegs.h | 16 ----------------
4 files changed, 5 insertions(+), 34 deletions(-)
diff --git a/compiler/codeGen/CodeGen/Platform.hs b/compiler/codeGen/CodeGen/Platform.hs
index 3014a05..9d9a0cf 100644
--- a/compiler/codeGen/CodeGen/Platform.hs
+++ b/compiler/codeGen/CodeGen/Platform.hs
@@ -12,7 +12,6 @@ import Reg
import qualified CodeGen.Platform.ARM as ARM
import qualified CodeGen.Platform.ARM64 as ARM64
import qualified CodeGen.Platform.PPC as PPC
-import qualified CodeGen.Platform.PPC_Darwin as PPC_Darwin
import qualified CodeGen.Platform.SPARC as SPARC
import qualified CodeGen.Platform.X86 as X86
import qualified CodeGen.Platform.X86_64 as X86_64
@@ -33,9 +32,7 @@ callerSaves platform
ArchARM64 -> ARM64.callerSaves
arch
| arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
- case platformOS platform of
- OSDarwin -> PPC_Darwin.callerSaves
- _ -> PPC.callerSaves
+ PPC.callerSaves
| otherwise -> NoRegs.callerSaves
@@ -56,9 +53,7 @@ activeStgRegs platform
ArchARM64 -> ARM64.activeStgRegs
arch
| arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
- case platformOS platform of
- OSDarwin -> PPC_Darwin.activeStgRegs
- _ -> PPC.activeStgRegs
+ PPC.activeStgRegs
| otherwise -> NoRegs.activeStgRegs
@@ -74,9 +69,7 @@ haveRegBase platform
ArchARM64 -> ARM64.haveRegBase
arch
| arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
- case platformOS platform of
- OSDarwin -> PPC_Darwin.haveRegBase
- _ -> PPC.haveRegBase
+ PPC.haveRegBase
| otherwise -> NoRegs.haveRegBase
@@ -92,9 +85,7 @@ globalRegMaybe platform
ArchARM64 -> ARM64.globalRegMaybe
arch
| arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
- case platformOS platform of
- OSDarwin -> PPC_Darwin.globalRegMaybe
- _ -> PPC.globalRegMaybe
+ PPC.globalRegMaybe
| otherwise -> NoRegs.globalRegMaybe
@@ -110,9 +101,7 @@ freeReg platform
ArchARM64 -> ARM64.freeReg
arch
| arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
- case platformOS platform of
- OSDarwin -> PPC_Darwin.freeReg
- _ -> PPC.freeReg
+ PPC.freeReg
| otherwise -> NoRegs.freeReg
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index 7f84cac..5b93d3c 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -272,7 +272,6 @@ Library
CodeGen.Platform.ARM64
CodeGen.Platform.NoRegs
CodeGen.Platform.PPC
- CodeGen.Platform.PPC_Darwin
CodeGen.Platform.SPARC
CodeGen.Platform.X86
CodeGen.Platform.X86_64
diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
index 2545f0a..dbd4cc9 100644
--- a/includes/CodeGen.Platform.hs
+++ b/includes/CodeGen.Platform.hs
@@ -901,7 +901,6 @@ freeReg 30 = False
Then use r12 as temporary register, which is also what the C ABI does.
-}
-# endif
# if defined(REG_Base)
freeReg REG_Base = False
# endif
diff --git a/includes/stg/MachRegs.h b/includes/stg/MachRegs.h
index eab4a30..3300580 100644
--- a/includes/stg/MachRegs.h
+++ b/includes/stg/MachRegs.h
@@ -279,8 +279,6 @@ the stack. See Note [Overlapping global registers] for implications.
1 SP (callee-save, non-volatile)
2 AIX, powerpc64-linux:
RTOC (a strange special case)
- darwin:
- (caller-save, volatile)
powerpc32-linux:
reserved for use by system
@@ -315,18 +313,6 @@ the stack. See Note [Overlapping global registers] for implications.
#define REG_R7 r20
#define REG_R8 r21
-#if defined(MACHREGS_darwin)
-
-#define REG_F1 f14
-#define REG_F2 f15
-#define REG_F3 f16
-#define REG_F4 f17
-
-#define REG_D1 f18
-#define REG_D2 f19
-
-#else
-
#define REG_F1 fr14
#define REG_F2 fr15
#define REG_F3 fr16
@@ -341,8 +327,6 @@ the stack. See Note [Overlapping global registers] for implications.
#define REG_D5 fr24
#define REG_D6 fr25
-#endif
-
#define REG_Sp r22
#define REG_SpLim r24
More information about the ghc-commits
mailing list