[GHC] #9370: unfolding info as seen when building a module depends on flags in a previously-compiled module
GHC
ghc-devs at haskell.org
Wed Oct 19 18:19:43 UTC 2016
#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: 8.2.1
Component: Compiler | Version: 7.8.3
Resolution: | Keywords: newcomer,
| Inlining
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #8635 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Thanks Richard! I hope we see you again when you have time for some
hacking.
I had a look at this and the result is Phab:D2609. There is a bit more to
it that comment:41 suggests. In addition to what I describe there I also
needed to track down a few places outside of the simplifier where
unfoldings were being force. The first place I encountered was
`OccurAnalyse`, which wants to look a free variables of unfoldings.
There are two ways I can envision fixing this,
* Have occurrence analysis pretend there are no unfoldings if `-fignore-
interface-pragmas` is passed. Note that this is a bit of a lie: we would
be ignoring all unfoldings, not just those from interface files (since we
can't tell the difference between the two under the current scheme).
* Skip occurrence analysis altogether. If we are going to disable
inlining entirely then (I think) it serves little purpose.
Simon, perhaps you could weigh in here?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9370#comment:43>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list