[project @ 2006-01-06 16:30:17 by simonmar]
[ghc-hetmet.git] / ghc / compiler / cmm / PprCmm.hs
index 7023432..6e8367d 100644 (file)
@@ -51,6 +51,7 @@ import FastString   ( mkFastString )
 import Data.List    ( intersperse, groupBy )
 import IO           ( Handle )
 import Maybe       ( isJust )
+import Data.Char    ( chr )
 
 pprCmms :: [Cmm] -> SDoc
 pprCmms cmms = pprCode CStyle (vcat (intersperse separator $ map ppr cmms))
@@ -134,7 +135,7 @@ pprStmt stmt = case stmt of
     -- ;
     CmmNop -> semi
 
-    -- // text
+    --  // text
     CmmComment s -> text "//" <+> ftext s
 
     -- reg = expr;
@@ -317,8 +318,6 @@ pprExpr9 e =
         CmmReg    reg       -> ppr reg
         CmmRegOff reg off   -> parens (ppr reg <+> char '+' <+> int off)
        CmmMachOp mop args  -> genMachOp mop args
-        CmmPicBaseReg       -> text "PIC_BASE_REG"
-       e                   -> parens (pprExpr e)
 
 genMachOp :: MachOp -> [CmmExpr] -> SDoc
 genMachOp mop args
@@ -352,7 +351,6 @@ infixMachOp mop
             MO_Xor    _ -> Just $ char '^'
             MO_Not    _ -> Just $ char '~'
             MO_S_Neg  _ -> Just $ char '-' -- there is no unsigned neg :)
-           MO_Not    _ -> Just $ char '~'
             _ -> Nothing
 
 -- --------------------------------------------------------------------------
@@ -394,7 +392,8 @@ pprStatic s = case s of
     CmmUninitialised i -> nest 4 $ text "I8" <> brackets (int i)
     CmmAlign i         -> nest 4 $ text "align" <+> int i
     CmmDataLabel clbl  -> pprCLabel clbl <> colon
-    CmmString s'       -> nest 4 $ text "I8[]" <+> doubleQuotes (text s')
+    CmmString s'       -> nest 4 $ text "I8[]" <+> 
+                          doubleQuotes (text (map (chr.fromIntegral) s'))
 
 -- --------------------------------------------------------------------------
 -- Registers, whether local (temps) or global
@@ -433,8 +432,7 @@ pprGlobalReg gr
         GCEnter1       -> ptext SLIT("stg_gc_enter_1")
         GCFun          -> ptext SLIT("stg_gc_fun")
         BaseReg        -> ptext SLIT("BaseReg")
-
-        _ -> panic $ "PprCmm.pprGlobalReg: unknown global reg"
+        PicBaseReg     -> ptext SLIT("PicBaseReg")
 
 -- --------------------------------------------------------------------------
 -- data sections