summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-02-13 21:54:09 +0000
committerSimon Marlow <marlowsd@gmail.com>2012-02-13 21:54:09 +0000
commit32d652e4d2fd9ae01de08d0cb6ef82a2f409b0ae (patch)
tree3587f35dd8bb4e190e6126b77bf882f4aee29b18 /compiler/codeGen
parentd96f7a27cc91e922b50a369d7af00778756bc358 (diff)
downloadhaskell-32d652e4d2fd9ae01de08d0cb6ef82a2f409b0ae.tar.gz
merge fixes
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/CgMonad.lhs46
1 files changed, 1 insertions, 45 deletions
diff --git a/compiler/codeGen/CgMonad.lhs b/compiler/codeGen/CgMonad.lhs
index f907f85071..dff54f3bf5 100644
--- a/compiler/codeGen/CgMonad.lhs
+++ b/compiler/codeGen/CgMonad.lhs
@@ -385,30 +385,12 @@ instance Monad FCode where
{-# INLINE thenFC #-}
{-# INLINE returnFC #-}
-<<<<<<< HEAD
-\begin{code}
initC :: IO CgState
initC = do { uniqs <- mkSplitUniqSupply 'c'
; return (initCgState uniqs) }
runC :: DynFlags -> Module -> CgState -> FCode a -> (a,CgState)
runC dflags mod st (FCode code) = code (initCgInfoDown dflags mod) st
-||||||| merged common ancestors
-\begin{code}
-initC :: DynFlags -> Module -> FCode a -> IO a
-
-initC dflags mod (FCode code)
- = do { uniqs <- mkSplitUniqSupply 'c'
- ; case code (initCgInfoDown dflags mod) (initCgState uniqs) of
- (res, _) -> return res
- }
-=======
-initC :: DynFlags -> Module -> FCode a -> IO a
-initC dflags mod (FCode code) = do
- uniqs <- mkSplitUniqSupply 'c'
- case code (initCgInfoDown dflags mod) (initCgState uniqs) of
- (res, _) -> return res
->>>>>>> origin/master
returnFC :: a -> FCode a
returnFC val = FCode $ \_ state -> (val, state)
@@ -726,45 +708,19 @@ emitDecl decl = do
state <- getState
setState $ state { cgs_tops = cgs_tops state `snocOL` decl }
-<<<<<<< HEAD
emitProc :: CmmInfoTable -> CLabel -> [CmmFormal] -> [CmmBasicBlock] -> Code
-emitProc info lbl [] blocks
- = do { let proc_block = CmmProc info lbl (ListGraph blocks)
- ; state <- getState
- ; setState $ state { cgs_tops = cgs_tops state `snocOL` proc_block } }
-||||||| merged common ancestors
-emitProc :: CmmInfo -> CLabel -> [CmmFormal] -> [CmmBasicBlock] -> Code
-emitProc info lbl [] blocks
- = do { let proc_block = CmmProc info lbl (ListGraph blocks)
- ; state <- getState
- ; setState $ state { cgs_tops = cgs_tops state `snocOL` proc_block } }
-=======
-emitProc :: CmmInfo -> CLabel -> [CmmFormal] -> [CmmBasicBlock] -> Code
emitProc info lbl [] blocks = do
let proc_block = CmmProc info lbl (ListGraph blocks)
state <- getState
setState $ state { cgs_tops = cgs_tops state `snocOL` proc_block }
->>>>>>> origin/master
emitProc _ _ (_:_) _ = panic "emitProc called with nonempty args"
-- Emit a procedure whose body is the specified code; no info table
emitSimpleProc :: CLabel -> Code -> Code
-<<<<<<< HEAD
-emitSimpleProc lbl code
- = do { stmts <- getCgStmts code
- ; blks <- cgStmtsToBlocks stmts
- ; emitProc CmmNonInfoTable lbl [] blks }
-||||||| merged common ancestors
-emitSimpleProc lbl code
- = do { stmts <- getCgStmts code
- ; blks <- cgStmtsToBlocks stmts
- ; emitProc (CmmInfo Nothing Nothing CmmNonInfoTable) lbl [] blks }
-=======
emitSimpleProc lbl code = do
stmts <- getCgStmts code
blks <- cgStmtsToBlocks stmts
- emitProc (CmmInfo Nothing Nothing CmmNonInfoTable) lbl [] blks
->>>>>>> origin/master
+ emitProc CmmNonInfoTable lbl [] blks
-- Get all the CmmTops (there should be no stmts)
-- Return a single Cmm which may be split from other Cmms by