import CLabel
import ClosureInfo
import CostCentre
-import Var
+import Id
import SMRep
import BasicTypes
\end{code}
:: Id -- binder
-> CostCentreStack -- NB: *** NOT USED *** ToDo (WDP 94/06)
-> StgBinderInfo -- NB: ditto
- -> SRT
-> StgLiveVars -- variables live in RHS, including the binders
-- themselves in the case of a recursive group
-> EndOfBlockInfo -- where are we going to?
-- ToDo: deal with the cost-centre issues
cgLetNoEscapeClosure
- bndr cc binder_info srt full_live_in_rhss
- rhs_eob_info cc_slot rec args body
+ bndr cc _ full_live_in_rhss
+ rhs_eob_info cc_slot _ args body
= let
arity = length args
lf_info = mkLFLetNoEscape arity
-- Ignore the label that comes back from
-- mkRetDirectTarget. It must be conjured up elswhere
- ; emitReturnTarget (idName bndr) abs_c srt
+ ; _ <- emitReturnTarget (idName bndr) abs_c
; return () })
; returnFC (bndr, letNoEscapeIdInfo bndr vSp lf_info) }
-> StgExpr -- Body
-> Code
-cgLetNoEscapeBody bndr cc cc_slot all_args body = do
+cgLetNoEscapeBody bndr _ cc_slot all_args body = do
{ (arg_regs, ptrs, nptrs, ret_slot) <- bindUnboxedTupleComponents all_args
-- restore the saved cost centre. BUT: we must not free the stack slot