%********************************************************
\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 CgLetNoEscape ( cgLetNoEscapeClosure ) where
#include "HsVersions.h"
import CLabel
import ClosureInfo
import CostCentre
+import Id
import Var
import SMRep
import BasicTypes
:: 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
+ bndr cc binder_info full_live_in_rhss
rhs_eob_info cc_slot rec args body
= let
arity = length args
-- 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) }