[GHC] #13479: Core Lint issues during slowtest
GHC
ghc-devs at haskell.org
Fri Apr 7 16:07:32 UTC 2017
#13479: Core Lint issues during slowtest
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #10181 | Differential Rev(s): Phab:D3390
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
> But it's simpler and more direct simply to propagate the "apply to 1
arg" info that we apply to the body of g directly into the RHS of j.
Completely ignore the occurrences of j, don't compute their join arity.
I thought about it a bit. This should yield precisely the same analysis
result, right? (In particular, when analyzing a join point `j`, then the
incoming arity of `j` should always be the incoming arity of the whole
`join j = … in …`, plus the arity of `j` itself, so once we are past the
lambdas on the RHS of the `j`, we have – as you say – the same informatin.
Furthermore, the join point is called once.). So adding this code would
(potentially) cut some corners, but it adds complexity to the code without
any gain in precision. So unless this there is a compiler performance
bottle neck to be fixed, that does not seem to really be a good trade off,
does it?
(We could omit setting the call arity on join points, or – as now –
ignoring it in the simplifier. Doesn’t seem to make a big difference
either way.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13479#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list