Comments and Cmm notes
[ghc-hetmet.git] / compiler / cmm / CLabel.hs
index 0702785..a78c22f 100644 (file)
@@ -90,6 +90,8 @@ module CLabel (
 
        mkRtsApFastLabel,
 
+        mkPrimCallLabel,
+
        mkForeignLabel,
         addLabelSize,
         foreignLabelStdcallInfo,
@@ -375,6 +377,11 @@ mkSelectorEntryLabel upd off       = RtsLabel (RtsSelectorEntry   upd off)
 mkApInfoTableLabel  upd off    = RtsLabel (RtsApInfoTable upd off)
 mkApEntryLabel upd off         = RtsLabel (RtsApEntry   upd off)
 
+        -- Primitive / cmm call labels
+
+mkPrimCallLabel :: PrimCall -> CLabel
+mkPrimCallLabel (PrimCall str)  = ForeignLabel str Nothing False IsFunction
+
        -- Foreign labels
 
 mkForeignLabel :: FastString -> Maybe Int -> Bool -> FunctionOrData -> CLabel
@@ -890,7 +897,7 @@ pprCLbl (RtsLabel (RtsRetFS fs))
   = ftext fs <> ptext (sLit "_ret")
 
 pprCLbl (RtsLabel (RtsPrimOp primop)) 
-  = ppr primop <> ptext (sLit "_fast")
+  = ptext (sLit "stg_") <> ppr primop
 
 pprCLbl (RtsLabel (RtsSlowTickyCtr pat)) 
   = ptext (sLit "SLOW_CALL_") <> text pat <> ptext (sLit "_ctr")