Move the register-inplace special-case stuff into the ghc-prim package
[ghc-hetmet.git] / compiler / codeGen / CgPrimOp.hs
index c77e8e5..85a4151 100644 (file)
@@ -17,8 +17,6 @@ module CgPrimOp (
    cgPrimOp
  ) where
 
-#include "HsVersions.h"
-
 import ForeignCall
 import ClosureInfo
 import StgSyn
@@ -35,6 +33,7 @@ import PrimOp
 import SMRep
 import Constants
 import Outputable
+import FastString
 
 -- ---------------------------------------------------------------------------
 -- Code generation for PrimOps
@@ -123,15 +122,15 @@ emitPrimOp [res] ParOp [arg] live
        -- later, we might want to inline it.
     vols <- getVolatileRegs live
     emitForeignCall' PlayRisky
-       [CmmHinted res NoHint]
+       [CmmKinded res NoHint]
        (CmmCallee newspark CCallConv) 
-       [   (CmmHinted (CmmReg (CmmGlobal BaseReg)) PtrHint)
-          , (CmmHinted arg PtrHint)  ] 
+       [   (CmmKinded (CmmReg (CmmGlobal BaseReg)) PtrHint)
+          , (CmmKinded arg PtrHint)  ] 
        (Just vols)
         NoC_SRT -- No SRT b/c we do PlayRisky
         CmmMayReturn
   where
-       newspark = CmmLit (CmmLabel (mkRtsCodeLabel SLIT("newSpark")))
+       newspark = CmmLit (CmmLabel (mkRtsCodeLabel (sLit "newSpark")))
 
 emitPrimOp [res] ReadMutVarOp [mutv] live
    = stmtC (CmmAssign (CmmLocal res) (cmmLoadIndexW mutv fixedHdrSize))
@@ -144,8 +143,8 @@ emitPrimOp [] WriteMutVarOp [mutv,var] live
                [{-no results-}]
                (CmmCallee (CmmLit (CmmLabel mkDirty_MUT_VAR_Label))
                         CCallConv)
-               [   (CmmHinted (CmmReg (CmmGlobal BaseReg)) PtrHint)
-                  , (CmmHinted mutv PtrHint)  ]
+               [   (CmmKinded (CmmReg (CmmGlobal BaseReg)) PtrHint)
+                  , (CmmKinded mutv PtrHint)  ]
                (Just vols)
                 NoC_SRT -- No SRT b/c we do PlayRisky
                 CmmMayReturn
@@ -350,9 +349,9 @@ emitPrimOp [res] op args live
    | Just prim <- callishOp op
    = do vols <- getVolatileRegs live
        emitForeignCall' PlayRisky
-          [CmmHinted res NoHint] 
+          [CmmKinded res NoHint] 
           (CmmPrim prim) 
-          [CmmHinted a NoHint | a<-args]  -- ToDo: hints?
+          [CmmKinded a NoHint | a<-args]  -- ToDo: hints?
           (Just vols)
            NoC_SRT -- No SRT b/c we do PlayRisky
            CmmMayReturn