[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