summaryrefslogtreecommitdiff
path: root/testsuite/tests
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2017-02-26 22:17:02 -0500
committerDavid Feuer <David.Feuer@gmail.com>2017-02-26 22:18:14 -0500
commit76f2cd02ab04818f19be1927c2a640dede3e9dd3 (patch)
treeb11ae998c1e4ce582d67babb1bab2f996cf2ff70 /testsuite/tests
parent4f38fa100091152e6497db384af1fecd628e11e5 (diff)
downloadhaskell-76f2cd02ab04818f19be1927c2a640dede3e9dd3.tar.gz
Occurrence-analyse the result of rule firings
When studying simplCore/should_compile/T7785 I found that a long chain of maps map f (map f (map f (map f (...)))) took an unreasonably long time to simplify. The problem got worse when I started inlining in the InitialPhase, which is how I stumbled on it. The solution turned out to be rather simple. It's described in Note [Occurence-analyse after rule firing] in Simplify.hs Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3190
Diffstat (limited to 'testsuite/tests')
-rw-r--r--testsuite/tests/simplCore/should_compile/T3234.stderr13
1 files changed, 6 insertions, 7 deletions
diff --git a/testsuite/tests/simplCore/should_compile/T3234.stderr b/testsuite/tests/simplCore/should_compile/T3234.stderr
index ad31846bf6..e79bfbbc92 100644
--- a/testsuite/tests/simplCore/should_compile/T3234.stderr
+++ b/testsuite/tests/simplCore/should_compile/T3234.stderr
@@ -12,12 +12,15 @@
==================== Grand total simplifier statistics ====================
Total ticks: 55
-15 PreInlineUnconditionally
+18 PreInlineUnconditionally
+ 1 c
1 n
1 g
1 a
1 xs
1 ys
+ 1 c
+ 1 n
1 k
1 z
1 g
@@ -28,11 +31,7 @@ Total ticks: 55
1 lvl
1 lvl
1 lvl
-4 PostInlineUnconditionally
- 1 c
- 1 n
- 1 c
- 1 c
+1 PostInlineUnconditionally 1 c
1 UnfoldingDone 1 GHC.Base.build
5 RuleFired
1 ++
@@ -67,6 +66,6 @@ Total ticks: 55
1 c
1 n
1 a
-11 SimplifierDone 11
+10 SimplifierDone 10