[GHC] #11731: Simplifier: Inlining trivial let can lose sharing

GHC ghc-devs at haskell.org
Thu Apr 14 20:21:47 UTC 2016


#11731: Simplifier: Inlining trivial let can lose sharing
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.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):  Phab:D2073
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Joachim Breitner <mail@…>):

 In [changeset:"f4fd98c717a7f68d76a3054021b3be65d1ebad82/ghc" f4fd98c/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="f4fd98c717a7f68d76a3054021b3be65d1ebad82"
 Add a final demand analyzer run right before TidyCore

 in order to have precise used-once information in the exported
 strictness signatures, as well as precise used-once information on
 thunks. This avoids the bad effects of #11731.

 The subsequent worker-wrapper pass is responsible for removing the
 demand environment part of the strictness signature. It does not run
 after the final demand analyzer pass, so remove this also in CoreTidy.

 The subsequent worker-wrapper pass is also responsible for removing
 used-once-information from the demands and strictness signatures, as
 these might not be preserved by the simplifier. This is _not_ done by
 CoreTidy, because we _do_ want this information, as produced by the last
 round of the demand analyzer, to be available to the code generator.

 Differential Revision: https://phabricator.haskell.org/D2073
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11731#comment:48>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list