[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