diff options
| author | simonm <unknown> | 1999-03-22 16:57:11 +0000 |
|---|---|---|
| committer | simonm <unknown> | 1999-03-22 16:57:11 +0000 |
| commit | 80cbfd10627e589e6f2862e8f1d979b5eca58c2b (patch) | |
| tree | a7229aa939d309fe699559ae9676803f0d81c52c /ghc/compiler/codeGen | |
| parent | be7e6f4b77b852f830952754d914377c550ffe19 (diff) | |
| download | haskell-80cbfd10627e589e6f2862e8f1d979b5eca58c2b.tar.gz | |
[project @ 1999-03-22 16:57:10 by simonm]
Previous commit broke let-no-escape. Fix it up again.
Diffstat (limited to 'ghc/compiler/codeGen')
| -rw-r--r-- | ghc/compiler/codeGen/CgCase.lhs | 5 | ||||
| -rw-r--r-- | ghc/compiler/codeGen/CgExpr.lhs | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/ghc/compiler/codeGen/CgCase.lhs b/ghc/compiler/codeGen/CgCase.lhs index 23733c4598..99eb1ab89e 100644 --- a/ghc/compiler/codeGen/CgCase.lhs +++ b/ghc/compiler/codeGen/CgCase.lhs @@ -1,7 +1,7 @@ % % (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 $ % %******************************************************** %* * @@ -10,7 +10,8 @@ %******************************************************** \begin{code} -module CgCase ( cgCase, saveVolatileVarsAndRegs, restoreCurrentCostCentre, +module CgCase ( cgCase, saveVolatileVarsAndRegs, + restoreCurrentCostCentre, freeCostCentreSlot, splitTyConAppThroughNewTypes ) where #include "HsVersions.h" diff --git a/ghc/compiler/codeGen/CgExpr.lhs b/ghc/compiler/codeGen/CgExpr.lhs index 9dbe3a2212..2f4106404b 100644 --- a/ghc/compiler/codeGen/CgExpr.lhs +++ b/ghc/compiler/codeGen/CgExpr.lhs @@ -1,7 +1,7 @@ % % (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 $ % %******************************************************** %* * @@ -24,7 +24,7 @@ import CLabel ( mkClosureTblLabel ) import SMRep ( fixedHdrSize ) import CgBindery ( getArgAmodes, CgIdInfo, nukeDeadBindings ) import CgCase ( cgCase, saveVolatileVarsAndRegs, - restoreCurrentCostCentre, + restoreCurrentCostCentre, freeCostCentreSlot, splitTyConAppThroughNewTypes ) import CgClosure ( cgRhsClosure, cgStdRhsClosure ) import CgCon ( buildDynCon, cgReturnDataCon ) @@ -207,6 +207,7 @@ cgExpr (StgLetNoEscape live_in_whole_let live_in_rhss bindings body) 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! |
