[GHC] #11158: Combine exprIsTrivial and cpe_ExprIsTrivial

GHC ghc-devs at haskell.org
Tue Oct 25 19:05:36 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 nomeata):

 ARG! Where is my comment to Simon’s comment:22 gone? I replied to that!
 (Maybe got bitten by #11718 again.) So here is a second try:

 Re SPJ’s point 3:

 As I wrote in comment:14, the above happens when I change
 `cpe_ExprIsLiteral` to ''not'' consider data constructors as trivial:
 {{{
 cpe_ExprIsTrivial (Var v)         | isDataConWorkId v = False
 }}}

 Obviously this is not what we want, but it is the easiest way to trigger
 the mysterious crashes and understand more about the pipeline, in
 particular why is it not safe to have `MayHaveCafRefs` on such pointless
 bindings.

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


More information about the ghc-tickets mailing list