diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2015-03-19 16:45:46 +0100 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2015-03-19 16:45:46 +0100 |
commit | 1495ed521601affcd6e2a7a2bf9d579dc6b6486f (patch) | |
tree | eabf0fdf18ab6e91998bb20a32489828673ab34e | |
parent | 537ddb011de858990aadab4ea6a08f10ec2cbd05 (diff) | |
download | haskell-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.T | 6 |
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,['']) |