%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CgCase.lhs,v 1.24 1999/03/22 12:59:32 simonm Exp $
+% $Id: CgCase.lhs,v 1.25 1999/03/22 16:57:10 simonm Exp $
%
%********************************************************
%* *
%********************************************************
\begin{code}
-module CgCase ( cgCase, saveVolatileVarsAndRegs, restoreCurrentCostCentre,
+module CgCase ( cgCase, saveVolatileVarsAndRegs,
+ restoreCurrentCostCentre, freeCostCentreSlot,
splitTyConAppThroughNewTypes ) where
#include "HsVersions.h"
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CgExpr.lhs,v 1.20 1999/03/11 11:32:26 simonm Exp $
+% $Id: CgExpr.lhs,v 1.21 1999/03/22 16:57:11 simonm Exp $
%
%********************************************************
%* *
import SMRep ( fixedHdrSize )
import CgBindery ( getArgAmodes, CgIdInfo, nukeDeadBindings )
import CgCase ( cgCase, saveVolatileVarsAndRegs,
- restoreCurrentCostCentre,
+ restoreCurrentCostCentre, freeCostCentreSlot,
splitTyConAppThroughNewTypes )
import CgClosure ( cgRhsClosure, cgStdRhsClosure )
import CgCon ( buildDynCon, cgReturnDataCon )
saveVolatileVarsAndRegs live_in_rhss
`thenFC` \ (save_assts, rhs_eob_info, maybe_cc_slot) ->
-- ToDo: cost centre???
+ freeCostCentreSlot maybe_cc_slot `thenC`
restoreCurrentCostCentre maybe_cc_slot `thenFC` \ restore_cc ->
-- Save those variables right now!