projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b4ca3b6
)
Fix warnings in CgTailCall
author
Ian Lynagh
<igloo@earth.li>
Wed, 17 Dec 2008 17:50:40 +0000
(17:50 +0000)
committer
Ian Lynagh
<igloo@earth.li>
Wed, 17 Dec 2008 17:50:40 +0000
(17:50 +0000)
compiler/codeGen/CgTailCall.lhs
patch
|
blob
|
history
diff --git
a/compiler/codeGen/CgTailCall.lhs
b/compiler/codeGen/CgTailCall.lhs
index
73030d1
..
6f8fd04
100644
(file)
--- a/
compiler/codeGen/CgTailCall.lhs
+++ b/
compiler/codeGen/CgTailCall.lhs
@@
-5,13
+5,6
@@
% Code generation for tail calls.
\begin{code}
% Code generation for tail calls.
\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 CgTailCall (
cgTailCall, performTailCall,
performReturn, performPrimReturn,
module CgTailCall (
cgTailCall, performTailCall,
performReturn, performPrimReturn,
@@
-41,7
+34,6
@@
import Type
import Id
import StgSyn
import PrimOp
import Id
import StgSyn
import PrimOp
-import FastString
import Outputable
import Control.Monad
import Outputable
import Control.Monad
@@
-141,7
+133,7
@@
performTailCall fun_info arg_amodes pending_assts
-- A real constructor. Don't bother entering it,
-- just do the right sort of return instead.
-- As with any return, Node must point to it.
-- A real constructor. Don't bother entering it,
-- just do the right sort of return instead.
-- As with any return, Node must point to it.
- ReturnCon con -> do
+ ReturnCon _ -> do
{ emitSimultaneously (node_asst `plusStmts` pending_assts)
; doFinalJump sp False emitReturnInstr }
{ emitSimultaneously (node_asst `plusStmts` pending_assts)
; doFinalJump sp False emitReturnInstr }
@@
-238,7
+230,9
@@
performTailCall fun_info arg_amodes pending_assts
-- CONSTR_NOCAF_STATIC (from ClosureType.h)
-}
-- CONSTR_NOCAF_STATIC (from ClosureType.h)
-}
-
+directCall :: VirtualSpOffset -> CLabel -> [(CgRep, CmmExpr)]
+ -> [(CgRep, CmmExpr)] -> CmmStmts
+ -> Code
directCall sp lbl args extra_args assts = do
let
-- First chunk of args go in registers
directCall sp lbl args extra_args assts = do
let
-- First chunk of args go in registers
@@
-289,7
+283,7
@@
performReturn :: Code -- The code to execute to actually do the return
-> Code
performReturn finish_code
-> Code
performReturn finish_code
- = do { EndOfBlockInfo args_sp sequel <- getEndOfBlockInfo
+ = do { EndOfBlockInfo args_sp _sequel <- getEndOfBlockInfo
; doFinalJump args_sp False{-not a LNE-} finish_code }
-- ----------------------------------------------------------------------------
; doFinalJump args_sp False{-not a LNE-} finish_code }
-- ----------------------------------------------------------------------------
@@
-321,7
+315,7
@@
performPrimReturn rep amode
returnUnboxedTuple :: [(CgRep, CmmExpr)] -> Code
returnUnboxedTuple amodes
returnUnboxedTuple :: [(CgRep, CmmExpr)] -> Code
returnUnboxedTuple amodes
- = do { eob@(EndOfBlockInfo args_sp sequel) <- getEndOfBlockInfo
+ = do { (EndOfBlockInfo args_sp _sequel) <- getEndOfBlockInfo
; tickyUnboxedTupleReturn (length amodes)
; (final_sp, assts) <- pushUnboxedTuple args_sp amodes
; emitSimultaneously assts
; tickyUnboxedTupleReturn (length amodes)
; (final_sp, assts) <- pushUnboxedTuple args_sp amodes
; emitSimultaneously assts
@@
-415,7
+409,7
@@
tailCallPrimOp op args
pushReturnAddress :: EndOfBlockInfo -> Code
pushReturnAddress :: EndOfBlockInfo -> Code
-pushReturnAddress (EndOfBlockInfo args_sp sequel@(CaseAlts lbl _ _))
+pushReturnAddress (EndOfBlockInfo args_sp (CaseAlts lbl _ _))
= do { sp_rel <- getSpRelOffset args_sp
; stmtC (CmmStore sp_rel (mkLblExpr lbl)) }
= do { sp_rel <- getSpRelOffset args_sp
; stmtC (CmmStore sp_rel (mkLblExpr lbl)) }