summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-12-17 18:22:36 +0000
committerIan Lynagh <igloo@earth.li>2008-12-17 18:22:36 +0000
commitcb3a1526b303ac4e098ba107f761430a773c2a55 (patch)
treeef1b902cedbd19e823ebd17b475bf77b3ca7a35b /compiler/codeGen
parentc3cef051c05ed12423714115a1a6f04cd483ea8e (diff)
downloadhaskell-cb3a1526b303ac4e098ba107f761430a773c2a55.tar.gz
Fix warnings in StgCmmProf
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/StgCmmProf.hs34
1 files changed, 21 insertions, 13 deletions
diff --git a/compiler/codeGen/StgCmmProf.hs b/compiler/codeGen/StgCmmProf.hs
index 1a18b99ac8..bae8694cff 100644
--- a/compiler/codeGen/StgCmmProf.hs
+++ b/compiler/codeGen/StgCmmProf.hs
@@ -1,6 +1,3 @@
-{-# OPTIONS -w #-}
--- Lots of missing type sigs etc
-
-----------------------------------------------------------------------------
--
-- Code generation for profiling
@@ -37,14 +34,12 @@ module StgCmmProf (
-- For REP_xxx constants, which are MachReps
import StgCmmClosure
-import StgCmmEnv
import StgCmmUtils
import StgCmmMonad
import SMRep
import MkZipCfgCmm
import Cmm
-import TyCon ( PrimRep(..) )
import CmmUtils
import CLabel
@@ -229,8 +224,8 @@ isBox :: StgExpr -> Bool
-- one introduced by boxHigherOrderArgs for profiling,
-- so we charge it to "OVERHEAD".
-- This looks like a GROSS HACK to me --SDM
-isBox (StgApp fun []) = True
-isBox other = False
+isBox (StgApp _ []) = True
+isBox _ = False
-- -----------------------------------------------------------------------
@@ -261,6 +256,7 @@ enterCostCentre closure_info ccs body
ASSERT2(not (noCCSAttached ccs), ppr (closureName closure_info) <+> ppr ccs)
enter_cost_centre closure_info ccs body
+enter_cost_centre :: ClosureInfo -> CostCentreStack -> StgExpr -> FCode ()
enter_cost_centre closure_info ccs body
| isSubsumedCCS ccs
= ASSERT(isToplevClosure closure_info)
@@ -319,9 +315,11 @@ enterCostCentreThunk closure =
ifProfiling $ do
emit $ mkStore curCCSAddr (costCentreFrom closure)
+enter_ccs_fun :: CmmExpr -> FCode ()
enter_ccs_fun stack = emitRtsCall (sLit "EnterFunCCS") [(stack,AddrHint)] False
-- ToDo: vols
+enter_ccs_fsub :: FCode ()
enter_ccs_fsub = enteringPAP 0
-- When entering a PAP, EnterFunCCS is called by both the PAP entry
@@ -396,7 +394,9 @@ emitCostCentreStackDecl ccs
-- pad out the struct with zero words until we hit the
-- size of the overall struct (which we get via DerivedConstants.h)
+zero :: CmmLit
zero = mkIntCLit 0
+zero64 :: CmmLit
zero64 = CmmInt 0 W64
sizeof_ccs_words :: Int
@@ -447,9 +447,11 @@ mkRegisterCCS ccs
ccs_lit = CmmLit (CmmLabel (mkCCSLabel ccs))
+cC_LIST, cC_ID :: CmmExpr
cC_LIST = CmmLit (CmmLabel (mkRtsDataLabel (sLit "CC_LIST")))
cC_ID = CmmLit (CmmLabel (mkRtsDataLabel (sLit "CC_ID")))
+cCS_LIST, cCS_ID :: CmmExpr
cCS_LIST = CmmLit (CmmLabel (mkRtsDataLabel (sLit "CCS_LIST")))
cCS_ID = CmmLit (CmmLabel (mkRtsDataLabel (sLit "CCS_ID")))
@@ -545,10 +547,16 @@ ldvWord :: CmmExpr -> CmmExpr
ldvWord closure_ptr = cmmOffsetB closure_ptr oFFSET_StgHeader_ldvw
-- LDV constants, from ghc/includes/Constants.h
-lDV_SHIFT = (LDV_SHIFT :: Int)
---lDV_STATE_MASK = (LDV_STATE_MASK :: StgWord)
-lDV_CREATE_MASK = (LDV_CREATE_MASK :: StgWord)
---lDV_LAST_MASK = (LDV_LAST_MASK :: StgWord)
-lDV_STATE_CREATE = (LDV_STATE_CREATE :: StgWord)
-lDV_STATE_USE = (LDV_STATE_USE :: StgWord)
+lDV_SHIFT :: Int
+lDV_SHIFT = LDV_SHIFT
+--lDV_STATE_MASK :: StgWord
+--lDV_STATE_MASK = LDV_STATE_MASK
+lDV_CREATE_MASK :: StgWord
+lDV_CREATE_MASK = LDV_CREATE_MASK
+--lDV_LAST_MASK :: StgWord
+--lDV_LAST_MASK = LDV_LAST_MASK
+lDV_STATE_CREATE :: StgWord
+lDV_STATE_CREATE = LDV_STATE_CREATE
+lDV_STATE_USE :: StgWord
+lDV_STATE_USE = LDV_STATE_USE