X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2FcodeGen%2FCgMonad.lhs;h=1e9a5ba97bd0cac90a0b357a54dc2a3ff518a78c;hb=0d4d93a38a2aff950bcd12ebb46a2582d68f5de4;hp=e624f4b436c6868f7d0528d06bfe6956525729fb;hpb=176fa33f17dd78355cc572e006d2ab26898e2c69;p=ghc-hetmet.git diff --git a/compiler/codeGen/CgMonad.lhs b/compiler/codeGen/CgMonad.lhs index e624f4b..1e9a5ba 100644 --- a/compiler/codeGen/CgMonad.lhs +++ b/compiler/codeGen/CgMonad.lhs @@ -8,13 +8,6 @@ See the beginning of the top-level @CodeGen@ module, to see how this monadic stuff fits into the Big Picture. \begin{code} -{-# OPTIONS -w #-} --- The above warning supression flag is a temporary kludge. --- While working on this module you are encouraged to remove it and fix --- any warnings in the module. See --- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings --- for details - module CgMonad ( Code, -- type FCode, -- type @@ -69,12 +62,10 @@ module CgMonad ( import {-# SOURCE #-} CgBindery ( CgBindings, nukeVolatileBinds ) import DynFlags -import PackageConfig import BlockId import Cmm import CmmUtils import CLabel -import PprCmm import StgSyn (SRT) import SMRep import Module @@ -167,6 +158,7 @@ data EndOfBlockInfo -- by a case alternative. Sequel +initEobInfo :: EndOfBlockInfo initEobInfo = EndOfBlockInfo 0 OnStack \end{code} @@ -254,12 +246,14 @@ flattenCgStmts id stmts = where (fork_block, fork_blocks) = flatten (fromOL stmts) where (block,blocks) = flatten ss +isJump :: CmmStmt -> Bool isJump (CmmJump _ _) = True isJump (CmmBranch _) = True isJump (CmmSwitch _ _) = True isJump (CmmReturn _) = True isJump _ = False +isOrdinaryStmt :: CgStmt -> Bool isOrdinaryStmt (CgStmt _) = True isOrdinaryStmt _ = False \end{code} @@ -400,7 +394,7 @@ initC dflags mod (FCode code) } returnFC :: a -> FCode a -returnFC val = FCode (\info_down state -> (val, state)) +returnFC val = FCode (\_ state -> (val, state)) \end{code} \begin{code} @@ -460,10 +454,10 @@ fixC fcode = FCode ( \begin{code} getState :: FCode CgState -getState = FCode $ \info_down state -> (state,state) +getState = FCode $ \_ state -> (state,state) setState :: CgState -> FCode () -setState state = FCode $ \info_down _ -> ((),state) +setState state = FCode $ \_ _ -> ((),state) getStkUsage :: FCode StackUsage getStkUsage = do @@ -705,7 +699,7 @@ nopC = return () whenC :: Bool -> Code -> Code whenC True code = code -whenC False code = nopC +whenC False _ = nopC stmtC :: CmmStmt -> Code stmtC stmt = emitCgStmt (CgStmt stmt)