summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/spec-inline.stderr
diff options
context:
space:
mode:
authorLuke Maurer <maurerl@cs.uoregon.edu>2017-02-01 11:56:01 -0500
committerDavid Feuer <David.Feuer@gmail.com>2017-02-01 13:44:52 -0500
commit8d5cf8bf584fd4849917c29d82dcf46ee75dd035 (patch)
tree9d1b012562fd7ec1d1089b7d87e061884ba71f1c /testsuite/tests/simplCore/should_compile/spec-inline.stderr
parent4fa439e3ee2822f893bd364a6cbfe410a0c1e29f (diff)
downloadhaskell-8d5cf8bf584fd4849917c29d82dcf46ee75dd035.tar.gz
Join points
This major patch implements Join Points, as described in https://ghc.haskell.org/trac/ghc/wiki/SequentCore. You have to read that page, and especially the paper it links to, to understand what's going on; but it is very cool. It's Luke Maurer's work, but done in close collaboration with Simon PJ. This Phab is a squash-merge of wip/join-points branch of http://github.com/lukemaurer/ghc. There are many, many interdependent changes. Reviewers: goldfire, mpickering, bgamari, simonmar, dfeuer, austin Subscribers: simonpj, dfeuer, mpickering, Mikolaj, thomie Differential Revision: https://phabricator.haskell.org/D2853
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/spec-inline.stderr')
-rw-r--r--testsuite/tests/simplCore/should_compile/spec-inline.stderr29
1 files changed, 15 insertions, 14 deletions
diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr
index 0de46d181d..dda28c8926 100644
--- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr
+++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr
@@ -1,8 +1,9 @@
==================== Tidy Core ====================
-Result size of Tidy Core = {terms: 178, types: 68, coercions: 0}
+Result size of Tidy Core
+ = {terms: 178, types: 68, coercions: 0, joins: 0/2}
--- RHS size: {terms: 1, types: 0, coercions: 0}
+-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
Roman.$trModule4 :: GHC.Prim.Addr#
[GblId,
Caf=NoCafRefs,
@@ -10,7 +11,7 @@ Roman.$trModule4 :: GHC.Prim.Addr#
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
Roman.$trModule4 = "main"#
--- RHS size: {terms: 2, types: 0, coercions: 0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
Roman.$trModule3 :: GHC.Types.TrName
[GblId,
Caf=NoCafRefs,
@@ -19,7 +20,7 @@ Roman.$trModule3 :: GHC.Types.TrName
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
Roman.$trModule3 = GHC.Types.TrNameS Roman.$trModule4
--- RHS size: {terms: 1, types: 0, coercions: 0}
+-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
Roman.$trModule2 :: GHC.Prim.Addr#
[GblId,
Caf=NoCafRefs,
@@ -27,7 +28,7 @@ Roman.$trModule2 :: GHC.Prim.Addr#
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
Roman.$trModule2 = "Roman"#
--- RHS size: {terms: 2, types: 0, coercions: 0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
Roman.$trModule1 :: GHC.Types.TrName
[GblId,
Caf=NoCafRefs,
@@ -36,7 +37,7 @@ Roman.$trModule1 :: GHC.Types.TrName
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
Roman.$trModule1 = GHC.Types.TrNameS Roman.$trModule2
--- RHS size: {terms: 3, types: 0, coercions: 0}
+-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
Roman.$trModule :: GHC.Types.Module
[GblId,
Caf=NoCafRefs,
@@ -46,19 +47,19 @@ Roman.$trModule :: GHC.Types.Module
Roman.$trModule =
GHC.Types.Module Roman.$trModule3 Roman.$trModule1
--- RHS size: {terms: 1, types: 0, coercions: 0}
+-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl :: GHC.Prim.Addr#
[GblId, Caf=NoCafRefs]
lvl = "spec-inline.hs:(19,5)-(29,25)|function go"#
--- RHS size: {terms: 2, types: 2, coercions: 0}
+-- RHS size: {terms: 2, types: 2, coercions: 0, joins: 0/0}
Roman.foo3 :: Int
[GblId, Str=x]
Roman.foo3 =
Control.Exception.Base.patError @ 'GHC.Types.LiftedRep @ Int lvl
Rec {
--- RHS size: {terms: 55, types: 9, coercions: 0}
+-- RHS size: {terms: 55, types: 9, coercions: 0, joins: 0/1}
Roman.foo_$s$wgo [Occ=LoopBreaker]
:: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
[GblId, Arity=2, Caf=NoCafRefs, Str=<S,U><S,U>]
@@ -88,7 +89,7 @@ Roman.foo_$s$wgo =
}
end Rec }
--- RHS size: {terms: 74, types: 22, coercions: 0}
+-- RHS size: {terms: 74, types: 22, coercions: 0, joins: 0/1}
Roman.$wgo [InlPrag=[0]] :: Maybe Int -> Maybe Int -> GHC.Prim.Int#
[GblId,
Arity=2,
@@ -132,7 +133,7 @@ Roman.$wgo =
}
}
--- RHS size: {terms: 9, types: 5, coercions: 0}
+-- RHS size: {terms: 9, types: 5, coercions: 0, joins: 0/0}
Roman.foo_go [InlPrag=INLINE[0]] :: Maybe Int -> Maybe Int -> Int
[GblId,
Arity=2,
@@ -146,7 +147,7 @@ Roman.foo_go =
\ (w :: Maybe Int) (w1 :: Maybe Int) ->
case Roman.$wgo w w1 of ww { __DEFAULT -> GHC.Types.I# ww }
--- RHS size: {terms: 2, types: 0, coercions: 0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
Roman.foo2 :: Int
[GblId,
Caf=NoCafRefs,
@@ -155,7 +156,7 @@ Roman.foo2 :: Int
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
Roman.foo2 = GHC.Types.I# 6#
--- RHS size: {terms: 2, types: 1, coercions: 0}
+-- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0}
Roman.foo1 :: Maybe Int
[GblId,
Caf=NoCafRefs,
@@ -164,7 +165,7 @@ Roman.foo1 :: Maybe Int
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
Roman.foo1 = GHC.Base.Just @ Int Roman.foo2
--- RHS size: {terms: 11, types: 4, coercions: 0}
+-- RHS size: {terms: 11, types: 4, coercions: 0, joins: 0/0}
foo :: Int -> Int
[GblId,
Arity=1,