[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