[GHC] #11158: Combine exprIsTrivial and cpe_ExprIsTrivial

GHC ghc-devs at haskell.org
Wed Oct 26 21:53:07 UTC 2016


#11158: Combine exprIsTrivial and cpe_ExprIsTrivial
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:
            Type:  task              |               Status:  infoneeded
        Priority:  highest           |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  7.10.2
      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:D1656
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 > Why is this limited to import-bound Ids? I would have thought that any
 non-thunk Id which has NoCafRefs would be safe to omit from the SRT.

 Non-top-level Ids must be collected in FV info, becuase they become part
 of the dynamically allocated closure.  They never go in an SRT.

 For SRTs we are talking about top level Ids.  For top level imported Ids
 that defintely don't have CAF-refs, we can neglect them entirely in this
 free var into.

 I ''think'' it'd be OK to neglect ''local'' top-level Ids that have no
 CAF-refs too.  I think that's what you are suggesting.  I don't see any
 reason why not... feel free to try.  Should not change the resulting STG
 or Cmm at all.

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


More information about the ghc-tickets mailing list