projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make DsCCall warning-free
[ghc-hetmet.git]
/
compiler
/
codeGen
/
CgMonad.lhs
diff --git
a/compiler/codeGen/CgMonad.lhs
b/compiler/codeGen/CgMonad.lhs
index
faa84c2
..
6a26e66
100644
(file)
--- a/
compiler/codeGen/CgMonad.lhs
+++ b/
compiler/codeGen/CgMonad.lhs
@@
-80,9
+80,9
@@
import Id
import VarEnv
import OrdList
import Unique
import VarEnv
import OrdList
import Unique
-import Util
+import Util()
import UniqSupply
import UniqSupply
-import FastString
+import FastString()
import Outputable
import Control.Monad
import Outputable
import Control.Monad
@@
-241,6
+241,7
@@
flattenCgStmts id stmts =
where (block,blocks) = flatten stmts
(CgFork fork_id stmts : ss) ->
flatten (CgFork fork_id stmts : CgStmt stmt : ss)
where (block,blocks) = flatten stmts
(CgFork fork_id stmts : ss) ->
flatten (CgFork fork_id stmts : CgStmt stmt : ss)
+ (CgStmt {} : _) -> panic "CgStmt not seen as ordinary"
flatten (s:ss) =
case s of
flatten (s:ss) =
case s of
@@
-711,7
+712,8
@@
labelC :: BlockId -> Code
labelC id = emitCgStmt (CgLabel id)
newLabelC :: FCode BlockId
labelC id = emitCgStmt (CgLabel id)
newLabelC :: FCode BlockId
-newLabelC = do { id <- newUnique; return (BlockId id) }
+newLabelC = do { u <- newUnique
+ ; return $ BlockId u }
checkedAbsC :: CmmStmt -> Code
-- Emit code, eliminating no-ops
checkedAbsC :: CmmStmt -> Code
-- Emit code, eliminating no-ops
@@
-743,7
+745,7
@@
emitData sect lits
where
data_block = CmmData sect lits
where
data_block = CmmData sect lits
-emitProc :: CmmInfo -> CLabel -> CmmFormals -> [CmmBasicBlock] -> Code
+emitProc :: CmmInfo -> CLabel -> CmmFormalsWithoutKinds -> [CmmBasicBlock] -> Code
emitProc info lbl args blocks
= do { let proc_block = CmmProc info lbl args (ListGraph blocks)
; state <- getState
emitProc info lbl args blocks
= do { let proc_block = CmmProc info lbl args (ListGraph blocks)
; state <- getState
@@
-758,6
+760,8
@@
emitSimpleProc lbl code
getCmm :: Code -> FCode Cmm
-- Get all the CmmTops (there should be no stmts)
getCmm :: Code -> FCode Cmm
-- Get all the CmmTops (there should be no stmts)
+-- Return a single Cmm which may be split from other Cmms by
+-- object splitting (at a later stage)
getCmm code
= do { state1 <- getState
; ((), state2) <- withState code (state1 { cgs_tops = nilOL })
getCmm code
= do { state1 <- getState
; ((), state2) <- withState code (state1 { cgs_tops = nilOL })