summaryrefslogtreecommitdiff
path: root/testsuite/tests/stranal/should_compile/T10694.stderr
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2016-03-31 10:18:15 +0200
committerJoachim Breitner <mail@joachim-breitner.de>2016-04-14 17:18:54 +0200
commit2f56242b2fb9249420fce132bbded49c289b23a3 (patch)
tree805887ba4b2e4d77369cd93e281c1e9f9ab0072b /testsuite/tests/stranal/should_compile/T10694.stderr
parent3a34b5c32303734c794f27728025e8a9fb410fb3 (diff)
downloadhaskell-2f56242b2fb9249420fce132bbded49c289b23a3.tar.gz
Add a final demand analyzer run right before TidyCorewip/T11731
in order to have precise used-once information in the exported strictness signatures, as well as precise used-once information on thunks. This avoids the bad effects of #11731. The subsequent worker-wrapper pass is responsible for removing the demand environment part of the strictness signature. It does not run after the final demand analyzer pass, so remove this also in CoreTidy. The subsequent worker-wrapper pass is also responsible for removing used-once-information from the demands and strictness signatures, as these might not be preserved by the simplifier. This is _not_ done by CoreTidy, because we _do_ want this information, as produced by the last round of the demand analyzer, to be available to the code generator.
Diffstat (limited to 'testsuite/tests/stranal/should_compile/T10694.stderr')
-rw-r--r--testsuite/tests/stranal/should_compile/T10694.stderr61
1 files changed, 61 insertions, 0 deletions
diff --git a/testsuite/tests/stranal/should_compile/T10694.stderr b/testsuite/tests/stranal/should_compile/T10694.stderr
index 1908a08afe..06fc3a7a8a 100644
--- a/testsuite/tests/stranal/should_compile/T10694.stderr
+++ b/testsuite/tests/stranal/should_compile/T10694.stderr
@@ -1,5 +1,66 @@
+
+==================== Tidy Core ====================
+Result size of Tidy Core = {terms: 59, types: 41, coercions: 0}
+
+-- RHS size: {terms: 39, types: 23, coercions: 0}
+pm [InlPrag=NOINLINE] :: Int -> Int -> (Int, Int)
[GblId, Arity=2, Str=<L,U(U)><L,U(U)>m]
+pm =
+ \ (x_axr :: Int) (y_axs :: Int) ->
+ let {
+ l_sVj :: Int
+ [LclId]
+ l_sVj =
+ case x_axr of { GHC.Types.I# x1_aUL -> case y_axs of { GHC.Types.I# y1_aUP -> GHC.Types.I# (GHC.Prim.+# x1_aUL y1_aUP) } } } in
+ let {
+ l1_sVl :: Int
+ [LclId]
+ l1_sVl =
+ case x_axr of { GHC.Types.I# x1_aUV -> case y_axs of { GHC.Types.I# y1_aUZ -> GHC.Types.I# (GHC.Prim.-# x1_aUV y1_aUZ) } } } in
+ let {
+ l2_sVk :: [Int]
+ [LclId]
+ l2_sVk = GHC.Types.: @ Int l1_sVl (GHC.Types.[] @ Int) } in
+ let {
+ l3_sVa :: [Int]
+ [LclId]
+ l3_sVa = GHC.Types.: @ Int l_sVj l2_sVk } in
+ (GHC.List.$w!! @ Int l3_sVa 0#, GHC.List.$w!! @ Int l3_sVa 1#)
+
+-- RHS size: {terms: 8, types: 7, coercions: 0}
+m :: Int -> Int -> Int
+[GblId,
+ Arity=2,
Str=<L,U(U)><L,U(U)>,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True,
+ Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
+ Tmpl= \ (x_aCt [Occ=Once] :: Int) (y_aCu [Occ=Once] :: Int) ->
+ case pm x_aCt y_aCu of { (_ [Occ=Dead], mr_aCw [Occ=Once]) -> mr_aCw }}]
+m = \ (x_aCt :: Int) (y_aCu :: Int) -> case pm x_aCt y_aCu of { (pr_aCv, mr_aCw) -> mr_aCw }
+
+-- RHS size: {terms: 2, types: 0, coercions: 0}
+T10694.$trModule2 :: GHC.Types.TrName
+[GblId,
+ Caf=NoCafRefs,
Str=m1,
+ Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
+T10694.$trModule2 = GHC.Types.TrNameS "main"#
+
+-- RHS size: {terms: 2, types: 0, coercions: 0}
+T10694.$trModule1 :: GHC.Types.TrName
+[GblId,
+ Caf=NoCafRefs,
Str=m1,
+ Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
+T10694.$trModule1 = GHC.Types.TrNameS "T10694"#
+
+-- RHS size: {terms: 3, types: 0, coercions: 0}
+T10694.$trModule :: GHC.Types.Module
+[GblId,
+ Caf=NoCafRefs,
Str=m,
+ Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
+T10694.$trModule = GHC.Types.Module T10694.$trModule2 T10694.$trModule1
+
+
+