[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