From: simonpj Date: Thu, 11 Sep 2003 13:41:38 +0000 (+0000) Subject: [project @ 2003-09-11 13:41:38 by simonpj] X-Git-Tag: Approx_11550_changesets_converted~468 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=380ec6be64b1979780e78b79ca4e90b285196a28;p=ghc-hetmet.git [project @ 2003-09-11 13:41:38 by simonpj] Undo bogus claim that _scc_ "foo" x == x This just isn't right in general, for example when x is a top-level function. --- diff --git a/ghc/compiler/coreSyn/CoreUtils.lhs b/ghc/compiler/coreSyn/CoreUtils.lhs index 7e5fbb4..5c26e0d 100644 --- a/ghc/compiler/coreSyn/CoreUtils.lhs +++ b/ghc/compiler/coreSyn/CoreUtils.lhs @@ -214,12 +214,7 @@ mkCoerce2 to_ty from_ty expr mkSCC :: CostCentre -> Expr b -> Expr b -- Note: Nested SCC's *are* preserved for the benefit of -- cost centre stack profiling - -- Note2: We throw away an SCC on a single variable. If the - -- variable is a value, then there is no work to do in - -- evaluating it, and if it is a thunk, then it will be - -- attributed to its own CCS anyhow. mkSCC cc (Lit lit) = Lit lit -mkSCC cc (Var v) = Var v mkSCC cc (Lam x e) = Lam x (mkSCC cc e) -- Move _scc_ inside lambda mkSCC cc (Note (SCC cc') e) = Note (SCC cc) (Note (SCC cc') e) mkSCC cc (Note n e) = Note n (mkSCC cc e) -- Move _scc_ inside notes