[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