[commit: ghc] ghc-7.10: Fix a profiling bug (1d401b4)
git at git.haskell.org
git at git.haskell.org
Thu Feb 12 16:14:48 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-7.10
Link : http://ghc.haskell.org/trac/ghc/changeset/1d401b4384b5f9c7429140320e1d0bc120172b8b/ghc
>---------------------------------------------------------------
commit 1d401b4384b5f9c7429140320e1d0bc120172b8b
Author: Simon Marlow <marlowsd at gmail.com>
Date: Wed Jan 28 11:25:52 2015 +0000
Fix a profiling bug
Summary:
We were erroneously discarding SCCs on function-typed variables.
These can affect the call stack, so we have to retain them. The bug
was introduced during the recent SourceNote refactoring.
This is an alternative to the fix proposed in D616. I also added the
scc005 test from that diff, which works with this change.
While I was here, I also fixed up the other profiling tests, marking a
few as expect_broken_for(10037) where the opt/unopt output differs in
non-fatal ways.
Test Plan: profiling tests
Reviewers: scpmw, ezyang, austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D636
GHC Trac Issues: #10007
(cherry picked from commit daed18c35cda114d8a5303bcb645195e1fd397e3)
>---------------------------------------------------------------
1d401b4384b5f9c7429140320e1d0bc120172b8b
compiler/coreSyn/CoreUtils.hs | 12 ++++-
.../tests/profiling/should_run/T2552.prof.sample | 56 ++++++++++------------
testsuite/tests/profiling/should_run/all.T | 19 ++++++--
.../tests/profiling/should_run/ioprof.prof.sample | 41 ++++++++--------
.../profiling/should_run/prof-doc-fib.prof.sample | 31 ++++++------
testsuite/tests/profiling/should_run/scc005.hs | 10 ++++
.../tests/profiling/should_run/scc005.prof.sample | 27 +++++++++++
7 files changed, 125 insertions(+), 71 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 1d401b4384b5f9c7429140320e1d0bc120172b8b
More information about the ghc-commits
mailing list