[project @ 2001-02-16 09:53:51 by simonmar]
authorsimonmar <unknown>
Fri, 16 Feb 2001 09:53:51 +0000 (09:53 +0000)
committersimonmar <unknown>
Fri, 16 Feb 2001 09:53:51 +0000 (09:53 +0000)
deLam the contents of an _scc_: they don't disappear at code
generation time.

ghc/compiler/coreSyn/CoreSat.lhs

index b47c514..9282637 100644 (file)
@@ -172,6 +172,11 @@ coreSatExprFloat (Let bind body)
     coreSatExprFloat body              `thenUs` \ (floats, new_body) ->
     returnUs (new_bind:floats, new_body)
 
+coreSatExprFloat (Note n@(SCC _) expr)
+  = coreSatAnExpr expr                 `thenUs` \ expr ->
+    deLam expr                         `thenUs` \ expr ->
+    returnUs ([], Note n expr)
+
 coreSatExprFloat (Note other_note expr)
   = coreSatExprFloat expr              `thenUs` \ (floats, expr) ->
     returnUs (floats, Note other_note expr)