[GHC] #15754: Move free variable computation to after STG passes
GHC
ghc-devs at haskell.org
Sun Oct 21 09:06:28 UTC 2018
#15754: Move free variable computation to after STG passes
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.8.1
Component: Compiler | Version: 8.6.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by sgraf):
I was under the impression that because free vars are inherently part of
the STG syntax (vs. some binder annotation like in Core), correct free
variable information would be an invariant on STG terms. So the lambda
lifting optimisation I implemented on STG (#9476) relies on correct free
variable information being available (and makes sure to update it after
the transformation).
Instead of deferring computation of free variables, how about having other
transformations maintain this particular invariant of STG syntax? Or
introduce a `StgFV` pass that can be used by other passes if we really
want to abandon that invariant, but then we could (should?) get rid of
mention in syntax.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15754#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list