[GHC] #9370: unfolding info as seen when building a module depends on flags in a previously-compiled module
GHC
ghc-devs at haskell.org
Tue Feb 17 14:52:48 UTC 2015
#9370: unfolding info as seen when building a module depends on flags in a
previously-compiled module
-------------------------------------+-------------------------------------
Reporter: carter | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.12.1
Component: Compiler | Version: 7.8.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by simonpj):
Just to add: I think Reid's comment:14 is spot on.
The solution, I believe, is this:
* Always read in unfoldings, etc, including with `-O`. (Possible
exception: one-shot mode.)
* Check the `-fignore-interface-pragmas` flag when considering inlining a
function.
So an `Id` would always contain its inlining; but at the ''usage sites''
we'd decide whether or not to use it. An extra test at every inlining,
but there are already a lot of tests at inlining sites!
This would be a good, small, contained project for someone. Volunteers?
If it's mission-critical for anyone, please yell.
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9370#comment:20>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list