[commit: ghc] wip/T10137: CmmSwitch: T783 regresses a lot (1495ed5)

git at git.haskell.org git at git.haskell.org
Thu Mar 19 15:50:50 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/T10137
Link       : http://ghc.haskell.org/trac/ghc/changeset/1495ed521601affcd6e2a7a2bf9d579dc6b6486f/ghc

>---------------------------------------------------------------

commit 1495ed521601affcd6e2a7a2bf9d579dc6b6486f
Author: Joachim Breitner <mail at joachim-breitner.de>
Date:   Thu Mar 19 16:45:46 2015 +0100

    CmmSwitch: T783 regresses a lot
    
    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.


>---------------------------------------------------------------

1495ed521601affcd6e2a7a2bf9d579dc6b6486f
 testsuite/tests/perf/compiler/all.T | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index a874866..d20d676 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,[''])



More information about the ghc-commits mailing list