[GHC] #10844: CallStack should not be inlined
GHC
ghc-devs at haskell.org
Wed Oct 5 10:34:27 UTC 2016
#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):
> At this point the simplifier is in a bind because in order to fully
inline everything, it would have to duplicate the "\n" string, and GHC
presumably knows this is generally a bad idea.
Yes, this is a key choice. Look at `CoreSubst.exprIsLiteral_maybe`. It
calls `expandUnfolding_maybe`. Look at `CoreSyn.expandUnfolding_maybe`.
It expands the unfolding if `uf_expandable` is True. That flag says if
it's ok to expand an unfolding to make a RULE match.
But in comment:20 I see "Expandable = True" for those top-level string
literals. So they should be visible to the rule matcher.
Some link in this chain isn't working. But I hope you can see the links
now, so you can see what's not working?
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10844#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list