summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
diff options
context:
space:
mode:
authorBartosz Nitka <niteria@gmail.com>2016-05-04 09:22:37 -0700
committerBartosz Nitka <niteria@gmail.com>2016-05-04 10:18:10 -0700
commitad4392c142696d5092533480a82ed65322e9d413 (patch)
tree6b7dc893f6dcf0c87db84fef9c29e675a8db8095 /testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
parent763610e990207eaa143856fca411d5ad420651ed (diff)
downloadhaskell-ad4392c142696d5092533480a82ed65322e9d413.tar.gz
Kill non-deterministic foldUFM in TrieMap and TcAppMap
Summary: foldUFM introduces unnecessary non-determinism that actually leads to different generated code as explained in Note [TrieMap determinism]. As we're switching from UniqFM to UniqDFM here you might be concerned about performance. There's nothing that ./validate detects. nofib reports no change in Compile Allocations, but Compile Time got better on some tests and worse on some, yielding this summary: -1 s.d. ----- -3.8% +1 s.d. ----- +5.4% Average ----- +0.7% This is not a fair comparison as the order of Uniques changes what GHC is actually doing. One benefit from making this deterministic is also that it will make the performance results more stable. Full nofib results: P108 Test Plan: ./validate, nofib Reviewers: goldfire, simonpj, simonmar, austin, bgamari Reviewed By: simonpj Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2169 GHC Trac Issues: #4012
Diffstat (limited to 'testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr')
-rw-r--r--testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr16
1 files changed, 8 insertions, 8 deletions
diff --git a/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr b/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
index 80b94dca4b..52385104cf 100644
--- a/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
+++ b/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
@@ -3,14 +3,14 @@ B.hs:4:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature:
answer_to_live_the_universe_and_everything :: Int
-B.hs:5:12: warning: [-Wtype-defaults]
+B.hs:5:13: warning: [-Wtype-defaults]
• Defaulting the following constraints to type ‘Integer’
+ (Num a0) arising from the literal ‘1’ at B.hs:5:13
(Enum a0)
arising from the arithmetic sequence ‘1 .. 23 * 2’ at B.hs:5:12-20
- (Num a0) arising from the literal ‘1’ at B.hs:5:13
- • In the first argument of ‘length’, namely ‘[1 .. 23 * 2]’
+ • In the expression: 1
+ In the first argument of ‘length’, namely ‘[1 .. 23 * 2]’
In the first argument of ‘(-)’, namely ‘length [1 .. 23 * 2]’
- In the expression: length [1 .. 23 * 2] - 4
A.hs:7:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature: main :: IO ()
@@ -19,14 +19,14 @@ B.hs:4:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature:
answer_to_live_the_universe_and_everything :: Int
-B.hs:5:12: warning: [-Wtype-defaults]
+B.hs:5:13: warning: [-Wtype-defaults]
• Defaulting the following constraints to type ‘Integer’
+ (Num a0) arising from the literal ‘1’ at B.hs:5:13
(Enum a0)
arising from the arithmetic sequence ‘1 .. 23 * 2’ at B.hs:5:12-20
- (Num a0) arising from the literal ‘1’ at B.hs:5:13
- • In the first argument of ‘length’, namely ‘[1 .. 23 * 2]’
+ • In the expression: 1
+ In the first argument of ‘length’, namely ‘[1 .. 23 * 2]’
In the first argument of ‘(-)’, namely ‘length [1 .. 23 * 2]’
- In the expression: length [1 .. 23 * 2] - 4
A.hs:7:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature: main :: IO ()