[commit: ghc] master: Allow users to ignore optimization changes (708ed9c)

git at git.haskell.org git at git.haskell.org
Mon Dec 11 19:27:01 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/708ed9ca4dbf372817fe84a2fe486940123bddfb/ghc

>---------------------------------------------------------------

commit 708ed9ca4dbf372817fe84a2fe486940123bddfb
Author: David Feuer <david.feuer at gmail.com>
Date:   Mon Dec 11 13:03:52 2017 -0500

    Allow users to ignore optimization changes
    
    * Add a new flag, `-fignore-optim-changes`, allowing them to avoid
      recompilation if the only changes are to the `-O` level or to
      flags controlling optimizations.
    
    * When `-fignore-optim-changes` is *off*, recompile when optimization
      flags (e.g., `-fno-full-laziness`) change. Previously, we ignored
      these unconditionally when deciding whether to recompile a module.
    
    Reviewers: austin, bgamari, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: duog, carter, simonmar, rwbarton, thomie
    
    GHC Trac Issues: #13604
    
    Differential Revision: https://phabricator.haskell.org/D4123


>---------------------------------------------------------------

708ed9ca4dbf372817fe84a2fe486940123bddfb
 compiler/iface/FlagChecker.hs                      | 67 ++++++++++++++++----
 compiler/iface/LoadIface.hs                        |  2 +
 compiler/iface/MkIface.hs                          | 45 ++++++++++++-
 compiler/main/DynFlags.hs                          | 73 ++++++++++++++++++++--
 compiler/main/HscTypes.hs                          | 15 ++++-
 docs/users_guide/8.4.1-notes.rst                   |  6 ++
 docs/users_guide/separate_compilation.rst          | 17 +++++
 ghc/Main.hs                                        | 12 +++-
 testsuite/tests/driver/Makefile                    | 14 +++++
 testsuite/tests/driver/T13604.hs                   |  1 +
 .../{retc003/retc003.stdout => T13604.stdout}      |  2 -
 testsuite/tests/driver/T13604a.hs                  |  1 +
 .../{retc003/retc003.stdout => T13604a.stdout}     |  2 -
 testsuite/tests/driver/T13914/T13914.stdout        |  4 +-
 testsuite/tests/driver/all.T                       |  2 +
 testsuite/tests/ghci/scripts/T9293.stdout          |  8 +++
 testsuite/tests/ghci/scripts/ghci024.stdout        |  2 +
 testsuite/tests/ghci/scripts/ghci057.stdout        |  8 +++
 testsuite/tests/hpc/T11798.stdout                  |  2 +-
 19 files changed, 254 insertions(+), 29 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 708ed9ca4dbf372817fe84a2fe486940123bddfb


More information about the ghc-commits mailing list