[GHC] #13604: ghci no longer loads dynamic .o files by default if they were built with -O

GHC ghc-devs at haskell.org
Tue Oct 24 21:11:39 UTC 2017


#13604: ghci no longer loads dynamic .o files by default if they were built with -O
-------------------------------------+-------------------------------------
        Reporter:  George            |                Owner:  dfeuer
            Type:  bug               |               Status:  patch
        Priority:  highest           |            Milestone:  8.2.2
       Component:  Compiler          |              Version:  8.2.1-rc1
      Resolution:                    |             Keywords:
                                     |  RecompilationCheck
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4123
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by dfeuer):

 Replying to [comment:38 George]:
 > So after this fix if I  load a file compiled with -O2 into ghci will
 ghci just load it without recompiling it?

 After this fix, you'll be able to load a compiled module (including one
 compiled with `-O` or `-O2`) into GHCi without recompiling it if nothing
 substantial has changed (e.g., source files) and both of the following are
 true:

 1. The file was compiled with `-dynamic`
 2. GHCi is run with `-fignore-optim-changes`

 The latter tells GHC that a file shouldn't be recompiled just because an
 "optimization flag" has changed. That's a bit of a fuzzy designation, but
 it includes all the flags included in `-O2` and several others as well.
 The one that might be most surprising is `-fignore-asserts`. If we need to
 add additional flags in the future to refine the way we handle such, we
 can consider it.

 Will this let you do what you need?

 I intend to do something similar for HPC, but I haven't yet.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13604#comment:39>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list