summaryrefslogtreecommitdiff
path: root/compiler/coreSyn
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2015-03-03 21:52:28 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2015-03-04 12:00:19 +0000
commitee56dc56a4a0f556894c4d2bd04c3d4ca73e95a1 (patch)
tree09c3e2e0a792437c5261220dacbca6bd05beb07c /compiler/coreSyn
parente673b8408d84f9149f88964c3318059984eb7788 (diff)
downloadhaskell-ee56dc56a4a0f556894c4d2bd04c3d4ca73e95a1.tar.gz
Tidy up and improve comments about one-shot info
(Triggered by investigating Trac #10102 etc.)
Diffstat (limited to 'compiler/coreSyn')
-rw-r--r--compiler/coreSyn/CoreTidy.hs3
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/coreSyn/CoreTidy.hs b/compiler/coreSyn/CoreTidy.hs
index 325950cf16..4ee867ad0a 100644
--- a/compiler/coreSyn/CoreTidy.hs
+++ b/compiler/coreSyn/CoreTidy.hs
@@ -258,12 +258,11 @@ but that seems more indirect and surprising.)
Note [Preserve OneShotInfo]
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
We keep the OneShotInfo because we want it to propagate into the interface.
Not all OneShotInfo is determined by a compiler analysis; some is added by a
call of GHC.Exts.oneShot, which is then discarded before the end of the
optimisation pipeline, leaving only the OneShotInfo on the lambda. Hence we
-must preserve this info in inlinings.
+must preserve this info in inlinings. See Note [The oneShot function] in MkId.
This applies to lambda binders only, hence it is stored in IfaceLamBndr.
-}