
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
#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 George): Replying to [comment:39 dfeuer]: 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?
Works perfectly for me. Thanks!
I intend to do something similar for HPC, but I haven't yet.
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13604#comment:42 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler