[project @ 2000-09-06 10:23:52 by simonmar]
[ghc-hetmet.git] / ghc / compiler / codeGen / CgRetConv.lhs
index d4784b6..fa7215b 100644 (file)
@@ -1,7 +1,7 @@
 %
 % (c) The GRASP Project, Glasgow University, 1992-1998
 %
-% $Id: CgRetConv.lhs,v 1.19 1999/05/13 17:30:58 simonm Exp $
+% $Id: CgRetConv.lhs,v 1.25 2000/09/06 10:23:52 simonmar Exp $
 %
 \section[CgRetConv]{Return conventions for the code generator}
 
@@ -27,12 +27,8 @@ import CmdLineOpts   ( opt_UseVanillaRegs, opt_UseFloatRegs,
                          opt_UseDoubleRegs, opt_UseLongRegs
                        )
 import Maybes          ( catMaybes )
-import DataCon         ( dataConRawArgTys, DataCon )
-import PrimOp          ( PrimOp{-instance Outputable-} )
 import PrimRep         ( isFloatingRep, PrimRep(..), is64BitRep )
-import TyCon           ( TyCon, tyConDataCons, tyConFamilySize )
-import Type            ( Type, typePrimRep, isUnLiftedType, 
-                         splitAlgTyConApp_maybe )
+import TyCon           ( TyCon, tyConFamilySize )
 import Util            ( isn'tIn )
 
 import Outputable
@@ -85,6 +81,7 @@ dataReturnConvPrim Int64Rep   = LongReg Int64Rep  ILIT(1)
 dataReturnConvPrim Word64Rep   = LongReg Word64Rep ILIT(1)
 dataReturnConvPrim AddrRep     = VanillaReg AddrRep ILIT(1)
 dataReturnConvPrim CharRep     = VanillaReg CharRep ILIT(1)
+dataReturnConvPrim Int8Rep     = VanillaReg Int8Rep ILIT(1)
 dataReturnConvPrim FloatRep    = FloatReg  ILIT(1)
 dataReturnConvPrim DoubleRep   = DoubleReg ILIT(1)
 dataReturnConvPrim VoidRep     = VoidReg
@@ -92,6 +89,7 @@ dataReturnConvPrim VoidRep    = VoidReg
 -- Return a primitive-array pointer in the usual register:
 dataReturnConvPrim ArrayRep     = VanillaReg ArrayRep ILIT(1)
 dataReturnConvPrim ByteArrayRep = VanillaReg ByteArrayRep ILIT(1)
+dataReturnConvPrim PrimPtrRep   = VanillaReg PrimPtrRep ILIT(1)
 
 dataReturnConvPrim StablePtrRep = VanillaReg StablePtrRep ILIT(1)
 dataReturnConvPrim ForeignObjRep = VanillaReg ForeignObjRep ILIT(1)