targetVirtualRegSqueeze :: RegClass -> VirtualReg -> FastInt
targetVirtualRegSqueeze
= case platformArch defaultTargetPlatform of
- ArchX86 -> X86.virtualRegSqueeze
- ArchX86_64 -> X86.virtualRegSqueeze
- ArchPPC -> PPC.virtualRegSqueeze
- ArchSPARC -> SPARC.virtualRegSqueeze
- ArchPPC_64 -> panic "targetVirtualRegSqueeze ArchPPC_64"
+ ArchX86 -> X86.virtualRegSqueeze
+ ArchX86_64 -> X86.virtualRegSqueeze
+ ArchPPC -> PPC.virtualRegSqueeze
+ ArchSPARC -> SPARC.virtualRegSqueeze
+ ArchPPC_64 -> panic "targetVirtualRegSqueeze ArchPPC_64"
+ ArchUnknown -> panic "targetVirtualRegSqueeze ArchUnknown"
targetRealRegSqueeze :: RegClass -> RealReg -> FastInt
targetRealRegSqueeze
= case platformArch defaultTargetPlatform of
- ArchX86 -> X86.realRegSqueeze
- ArchX86_64 -> X86.realRegSqueeze
- ArchPPC -> PPC.realRegSqueeze
- ArchSPARC -> SPARC.realRegSqueeze
- ArchPPC_64 -> panic "targetRealRegSqueeze ArchPPC_64"
+ ArchX86 -> X86.realRegSqueeze
+ ArchX86_64 -> X86.realRegSqueeze
+ ArchPPC -> PPC.realRegSqueeze
+ ArchSPARC -> SPARC.realRegSqueeze
+ ArchPPC_64 -> panic "targetRealRegSqueeze ArchPPC_64"
+ ArchUnknown -> panic "targetRealRegSqueeze ArchUnknown"
targetClassOfRealReg :: RealReg -> RegClass
targetClassOfRealReg
= case platformArch defaultTargetPlatform of
- ArchX86 -> X86.classOfRealReg
- ArchX86_64 -> X86.classOfRealReg
- ArchPPC -> PPC.classOfRealReg
- ArchSPARC -> SPARC.classOfRealReg
- ArchPPC_64 -> panic "targetClassOfRealReg ArchPPC_64"
+ ArchX86 -> X86.classOfRealReg
+ ArchX86_64 -> X86.classOfRealReg
+ ArchPPC -> PPC.classOfRealReg
+ ArchSPARC -> SPARC.classOfRealReg
+ ArchPPC_64 -> panic "targetClassOfRealReg ArchPPC_64"
+ ArchUnknown -> panic "targetClassOfRealReg ArchUnknown"
-- TODO: This should look at targetPlatform too
targetWordSize :: Size
targetMkVirtualReg :: Unique -> Size -> VirtualReg
targetMkVirtualReg
= case platformArch defaultTargetPlatform of
- ArchX86 -> X86.mkVirtualReg
- ArchX86_64 -> X86.mkVirtualReg
- ArchPPC -> PPC.mkVirtualReg
- ArchSPARC -> SPARC.mkVirtualReg
- ArchPPC_64 -> panic "targetMkVirtualReg ArchPPC_64"
+ ArchX86 -> X86.mkVirtualReg
+ ArchX86_64 -> X86.mkVirtualReg
+ ArchPPC -> PPC.mkVirtualReg
+ ArchSPARC -> SPARC.mkVirtualReg
+ ArchPPC_64 -> panic "targetMkVirtualReg ArchPPC_64"
+ ArchUnknown -> panic "targetMkVirtualReg ArchUnknown"
targetRegDotColor :: RealReg -> SDoc
targetRegDotColor
= case platformArch defaultTargetPlatform of
- ArchX86 -> X86.regDotColor
- ArchX86_64 -> X86.regDotColor
- ArchPPC -> PPC.regDotColor
- ArchSPARC -> SPARC.regDotColor
- ArchPPC_64 -> panic "targetRegDotColor ArchPPC_64"
+ ArchX86 -> X86.regDotColor
+ ArchX86_64 -> X86.regDotColor
+ ArchPPC -> PPC.regDotColor
+ ArchSPARC -> SPARC.regDotColor
+ ArchPPC_64 -> panic "targetRegDotColor ArchPPC_64"
+ ArchUnknown -> panic "targetRegDotColor ArchUnknown"
targetClassOfReg :: Reg -> RegClass