[commit: ghc] master: Add NOINLINE for hs-boot functions (efa7b3a)

git at git.haskell.org git at git.haskell.org
Tue Jul 21 13:20:58 UTC 2015


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

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

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

commit efa7b3a474bc373201ab145c129262a73c86f959
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Mon Jul 20 16:18:05 2015 +0100

    Add NOINLINE for hs-boot functions
    
    This fixes Trac #10083.
    
    The key change is in TcBinds.tcValBinds, where we construct
    the prag_fn.  With this patch we add a NOINLINE pragma for
    any functions that were exported by the hs-boot file for this
    module.
    
    See Note [Inlining and hs-boot files], and #10083, for details.
    
    The commit touches several other files becuase I also changed the
    representation of the "pragma function" from a function TcPragFun
    to an environment, TcPragEnv. This makes it easer to extend
    during construction.


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

efa7b3a474bc373201ab145c129262a73c86f959
 compiler/typecheck/TcBinds.hs                      | 128 +++++++++++++++------
 compiler/typecheck/TcClassDcl.hs                   |  12 +-
 compiler/typecheck/TcInstDcls.hs                   |  14 +--
 compiler/typecheck/TcPat.hs                        |  64 +++++++----
 compiler/typecheck/TcPatSyn.hs                     |   2 +-
 testsuite/tests/simplCore/should_compile/Makefile  |   6 +
 testsuite/tests/simplCore/should_compile/T10083.hs |   5 +
 .../tests/simplCore/should_compile/T10083.hs-boot  |   3 +
 .../tests/simplCore/should_compile/T10083a.hs      |   4 +
 testsuite/tests/simplCore/should_compile/all.T     |   4 +
 10 files changed, 169 insertions(+), 73 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 efa7b3a474bc373201ab145c129262a73c86f959


More information about the ghc-commits mailing list