NCG: Implement trivColorable for PowerPC 64-bit
authorPeter Trommler <ptrommler@acm.org>
Fri, 9 Dec 2016 20:42:11 +0000 (15:42 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 9 Dec 2016 21:38:45 +0000 (16:38 -0500)
Define constants for 64-bit PowerPC in graph coloring register
allocator.

Test Plan: ./validate

Reviewers: simonmar, austin, erikd, bgamari, hvr

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2791

compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs

index a40bec1..81e0c5e 100644 (file)
@@ -111,7 +111,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcInteger conflicts excl
                             ArchPPC       -> 16
                             ArchSPARC     -> 14
                             ArchSPARC64   -> panic "trivColorable ArchSPARC64"
-                            ArchPPC_64 _  -> panic "trivColorable ArchPPC_64"
+                            ArchPPC_64 _  -> 15
                             ArchARM _ _ _ -> panic "trivColorable ArchARM"
                             ArchARM64     -> panic "trivColorable ArchARM64"
                             ArchAlpha     -> panic "trivColorable ArchAlpha"
@@ -137,7 +137,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcFloat conflicts exclus
                             ArchPPC       -> 0
                             ArchSPARC     -> 22
                             ArchSPARC64   -> panic "trivColorable ArchSPARC64"
-                            ArchPPC_64 _  -> panic "trivColorable ArchPPC_64"
+                            ArchPPC_64 _  -> 0
                             ArchARM _ _ _ -> panic "trivColorable ArchARM"
                             ArchARM64     -> panic "trivColorable ArchARM64"
                             ArchAlpha     -> panic "trivColorable ArchAlpha"
@@ -163,7 +163,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcDouble conflicts exclu
                             ArchPPC       -> 26
                             ArchSPARC     -> 11
                             ArchSPARC64   -> panic "trivColorable ArchSPARC64"
-                            ArchPPC_64 _  -> panic "trivColorable ArchPPC_64"
+                            ArchPPC_64 _  -> 20
                             ArchARM _ _ _ -> panic "trivColorable ArchARM"
                             ArchARM64     -> panic "trivColorable ArchARM64"
                             ArchAlpha     -> panic "trivColorable ArchAlpha"
@@ -189,7 +189,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcDoubleSSE conflicts ex
                             ArchPPC       -> 0
                             ArchSPARC     -> 0
                             ArchSPARC64   -> panic "trivColorable ArchSPARC64"
-                            ArchPPC_64 _  -> panic "trivColorable ArchPPC_64"
+                            ArchPPC_64 _  -> 0
                             ArchARM _ _ _ -> panic "trivColorable ArchARM"
                             ArchARM64     -> panic "trivColorable ArchARM64"
                             ArchAlpha     -> panic "trivColorable ArchAlpha"