summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2012-11-01 01:29:00 +0000
committerIan Lynagh <ian@well-typed.com>2012-11-01 01:29:00 +0000
commitd7ca7af27f32bf51f46783538fd2fb542636b7a4 (patch)
treeece3f889a12d42573a8a6173382705a59b595310
parent232f1a2702684fe7f82a084213714adfa6162392 (diff)
downloadhaskell-d7ca7af27f32bf51f46783538fd2fb542636b7a4.tar.gz
Whitespace only in nativeGen/NCGMonad.hs
-rw-r--r--compiler/nativeGen/NCGMonad.hs135
1 files changed, 64 insertions, 71 deletions
diff --git a/compiler/nativeGen/NCGMonad.hs b/compiler/nativeGen/NCGMonad.hs
index eb59d2b82a..619bf9a5fc 100644
--- a/compiler/nativeGen/NCGMonad.hs
+++ b/compiler/nativeGen/NCGMonad.hs
@@ -1,39 +1,32 @@
-- -----------------------------------------------------------------------------
--
-- (c) The University of Glasgow 1993-2004
---
+--
-- The native code generator's monad.
--
-- -----------------------------------------------------------------------------
-{-# OPTIONS -fno-warn-tabs #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and
--- detab the module (please do the detabbing in a separate patch). See
--- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
--- for details
-
module NCGMonad (
- NatM_State(..), mkNatM_State,
-
- NatM, -- instance Monad
- initNat,
- addImportNat,
- getUniqueNat,
- mapAccumLNat,
- setDeltaNat,
- getDeltaNat,
- getBlockIdNat,
- getNewLabelNat,
- getNewRegNat,
- getNewRegPairNat,
- getPicBaseMaybeNat,
- getPicBaseNat,
- getDynFlags
-)
-
+ NatM_State(..), mkNatM_State,
+
+ NatM, -- instance Monad
+ initNat,
+ addImportNat,
+ getUniqueNat,
+ mapAccumLNat,
+ setDeltaNat,
+ getDeltaNat,
+ getBlockIdNat,
+ getNewLabelNat,
+ getNewRegNat,
+ getNewRegPairNat,
+ getPicBaseMaybeNat,
+ getPicBaseNat,
+ getDynFlags
+)
+
where
-
+
#include "HsVersions.h"
import Reg
@@ -41,19 +34,19 @@ import Size
import TargetReg
import BlockId
-import CLabel ( CLabel, mkAsmTempLabel )
+import CLabel ( CLabel, mkAsmTempLabel )
import UniqSupply
-import Unique ( Unique )
+import Unique ( Unique )
import DynFlags
-data NatM_State
- = NatM_State {
- natm_us :: UniqSupply,
- natm_delta :: Int,
- natm_imports :: [(CLabel)],
- natm_pic :: Maybe Reg,
- natm_dflags :: DynFlags
- }
+data NatM_State
+ = NatM_State {
+ natm_us :: UniqSupply,
+ natm_delta :: Int,
+ natm_imports :: [(CLabel)],
+ natm_pic :: Maybe Reg,
+ natm_dflags :: DynFlags
+ }
newtype NatM result = NatM (NatM_State -> (result, NatM_State))
@@ -61,12 +54,12 @@ unNat :: NatM a -> NatM_State -> (a, NatM_State)
unNat (NatM a) = a
mkNatM_State :: UniqSupply -> Int -> DynFlags -> NatM_State
-mkNatM_State us delta dflags
- = NatM_State us delta [] Nothing dflags
+mkNatM_State us delta dflags
+ = NatM_State us delta [] Nothing dflags
initNat :: NatM_State -> NatM a -> (a, NatM_State)
-initNat init_st m
- = case unNat m init_st of { (r,st) -> (r,st) }
+initNat init_st m
+ = case unNat m init_st of { (r,st) -> (r,st) }
instance Monad NatM where
@@ -76,17 +69,17 @@ instance Monad NatM where
thenNat :: NatM a -> (a -> NatM b) -> NatM b
thenNat expr cont
- = NatM $ \st -> case unNat expr st of
- (result, st') -> unNat (cont result) st'
+ = NatM $ \st -> case unNat expr st of
+ (result, st') -> unNat (cont result) st'
returnNat :: a -> NatM a
-returnNat result
- = NatM $ \st -> (result, st)
+returnNat result
+ = NatM $ \st -> (result, st)
mapAccumLNat :: (acc -> x -> NatM (acc, y))
-> acc
- -> [x]
- -> NatM (acc, [y])
+ -> [x]
+ -> NatM (acc, [y])
mapAccumLNat _ b []
= return (b, [])
@@ -106,32 +99,32 @@ instance HasDynFlags NatM where
getDeltaNat :: NatM Int
-getDeltaNat
- = NatM $ \ st -> (natm_delta st, st)
+getDeltaNat
+ = NatM $ \ st -> (natm_delta st, st)
setDeltaNat :: Int -> NatM ()
-setDeltaNat delta
- = NatM $ \ (NatM_State us _ imports pic dflags) ->
- ((), NatM_State us delta imports pic dflags)
+setDeltaNat delta
+ = NatM $ \ (NatM_State us _ imports pic dflags) ->
+ ((), NatM_State us delta imports pic dflags)
addImportNat :: CLabel -> NatM ()
-addImportNat imp
- = NatM $ \ (NatM_State us delta imports pic dflags) ->
- ((), NatM_State us delta (imp:imports) pic dflags)
+addImportNat imp
+ = NatM $ \ (NatM_State us delta imports pic dflags) ->
+ ((), NatM_State us delta (imp:imports) pic dflags)
getBlockIdNat :: NatM BlockId
-getBlockIdNat
- = do u <- getUniqueNat
- return (mkBlockId u)
+getBlockIdNat
+ = do u <- getUniqueNat
+ return (mkBlockId u)
getNewLabelNat :: NatM CLabel
-getNewLabelNat
- = do u <- getUniqueNat
- return (mkAsmTempLabel u)
+getNewLabelNat
+ = do u <- getUniqueNat
+ return (mkAsmTempLabel u)
getNewRegNat :: Size -> NatM Reg
@@ -152,16 +145,16 @@ getNewRegPairNat rep
getPicBaseMaybeNat :: NatM (Maybe Reg)
-getPicBaseMaybeNat
- = NatM (\state -> (natm_pic state, state))
+getPicBaseMaybeNat
+ = NatM (\state -> (natm_pic state, state))
getPicBaseNat :: Size -> NatM Reg
-getPicBaseNat rep
- = do mbPicBase <- getPicBaseMaybeNat
- case mbPicBase of
- Just picBase -> return picBase
- Nothing
- -> do
- reg <- getNewRegNat rep
- NatM (\state -> (reg, state { natm_pic = Just reg }))
+getPicBaseNat rep
+ = do mbPicBase <- getPicBaseMaybeNat
+ case mbPicBase of
+ Just picBase -> return picBase
+ Nothing
+ -> do
+ reg <- getNewRegNat rep
+ NatM (\state -> (reg, state { natm_pic = Just reg }))