[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