[commit: ghc] master: Don't inline functions with RULES too early (2110738)
git at git.haskell.org
git at git.haskell.org
Tue Jul 31 12:20:00 UTC 2018
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/2110738b280543698407924a16ac92b6d804dc36/ghc
>---------------------------------------------------------------
commit 2110738b280543698407924a16ac92b6d804dc36
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon Jul 30 13:43:56 2018 +0100
Don't inline functions with RULES too early
Trac #15445 showed that a function with an automatically
generated specialisation RULE coudl be inlined before the
RULE had a chance to fire.
This patch attaches a NOINLINE[2] activation to the Id, to
stop this happening.
>---------------------------------------------------------------
2110738b280543698407924a16ac92b6d804dc36
compiler/basicTypes/BasicTypes.hs | 10 +++++
compiler/basicTypes/MkId.hs | 2 +-
compiler/specialise/Rules.hs | 49 ++++++++++++++++++----
compiler/stranal/WorkWrap.hs | 4 +-
testsuite/tests/simplCore/should_compile/T15445.hs | 8 ++++
.../tests/simplCore/should_compile/T15445.stderr | 13 ++++++
.../tests/simplCore/should_compile/T15445a.hs | 10 +++++
testsuite/tests/simplCore/should_compile/all.T | 1 +
8 files changed, 87 insertions(+), 10 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 2110738b280543698407924a16ac92b6d804dc36
More information about the ghc-commits
mailing list