[GHC] #10844: CallStack should not be inlined
GHC
ghc-devs at haskell.org
Fri Feb 24 16:34:29 UTC 2017
#10844: CallStack should not be inlined
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: gridaphobe
Type: task | Status: patch
Priority: normal | Milestone:
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:D1259
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Phab:D1259 does floating in the desugarer. We should document carefully
here the reason that the `FloatOut` pass doesn't nail this; I keep
forgetting. It's because functions with an INLINE pragma are supposed to
inline precisely the RHS, so FloatOut doesn't float anything out of a
stable unfolding.
So we are instead doing it in the desugarer, the same place that the
stable unfoldings are built in the first place.
But we should pursue your idea from comment:11: ''GHC should not inline
terms that the programmer did not write''. In particular, perhaps when
you write an incomplete pattern match, the catch-all error message could
be plonked (by the desugarer) at top level?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10844#comment:30>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list