summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2015-03-19 16:45:46 +0100
committerJoachim Breitner <mail@joachim-breitner.de>2015-03-19 16:45:46 +0100
commit1495ed521601affcd6e2a7a2bf9d579dc6b6486f (patch)
treeeabf0fdf18ab6e91998bb20a32489828673ab34e
parent537ddb011de858990aadab4ea6a08f10ec2cbd05 (diff)
downloadhaskell-wip/T10137.tar.gz
CmmSwitch: T783 regresses a lotwip/T10137
but it is the only one exhibiting that. The cause is the changed order of branches in an if-then-else tree, which makes the hoople data flow analysis traverse the blocks in a suboptimal order. Reverting that gets rid of this regression, but has a consistent, if only very small (+0.2%), negative effect on runtime. So I conclude that this test is an extreme outlier and no reason to change the code.
-rw-r--r--testsuite/tests/perf/compiler/all.T6
1 files changed, 5 insertions, 1 deletions
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index a874866949..d20d6766a0 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -390,7 +390,7 @@ test('T783',
# 2014-09-03: 223377364 (Windows) better specialisation, raft of core-to-core optimisations
# 2014-12-22: 235002220 (Windows) not sure why
- (wordsize(64), 441932632, 10)]),
+ (wordsize(64), 719814352, 10)]),
# prev: 349263216 (amd64/Linux)
# 07/08/2012: 384479856 (amd64/Linux)
# 29/08/2012: 436927840 (amd64/Linux)
@@ -405,6 +405,10 @@ test('T783',
# (general round of updates)
# 2014-08-29: 441932632 (amd64/Linux)
# (better specialisation, raft of core-to-core optimisations)
+ # 2014-08-29: 719814352 (amd64/Linux)
+ # (changed order of cmm block causes analyses to allocate much more,
+ # but the changed order is slighly better in terms of runtime, and
+ # this test seems to be an extreme outlier.)
extra_hc_opts('-static')
],
compile,[''])