summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T7785.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/T7785.stderr')
-rw-r--r--testsuite/tests/simplCore/should_compile/T7785.stderr603
1 files changed, 263 insertions, 340 deletions
diff --git a/testsuite/tests/simplCore/should_compile/T7785.stderr b/testsuite/tests/simplCore/should_compile/T7785.stderr
index f2f819f89a..504fdc1677 100644
--- a/testsuite/tests/simplCore/should_compile/T7785.stderr
+++ b/testsuite/tests/simplCore/should_compile/T7785.stderr
@@ -1,408 +1,331 @@
-
-==================== Specialise ====================
-Result size of Specialise
- = {terms: 293, types: 99, coercions: 11, joins: 0/2}
+==================== Common sub-expression ====================
+Result size of Common sub-expression
+ = {terms: 181, types: 89, coercions: 5, joins: 0/1}
-- RHS size: {terms: 5, types: 10, coercions: 0, joins: 0/0}
-$cmyfmap_aG0
+$cmyfmap_aG7
:: forall a b. (Domain [] a, Domain [] b) => (a -> b) -> [a] -> [b]
[LclId,
Arity=4,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
+ Str=<A><A><U><SU>,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
- Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)}]
-$cmyfmap_aG0
- = \ (@a_aG3) (@b_aG4) _ [Occ=Dead] _ [Occ=Dead] ->
- map @a_aG3 @b_aG4
+ Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)
+ Tmpl= \ (@a_aGa)
+ (@b_aGb)
+ _ [Occ=Dead]
+ _ [Occ=Dead]
+ (eta_B0 [Occ=Once1, OS=OneShot] :: a_aGa -> b_aGb)
+ (eta_B1 [Occ=Once1, OS=OneShot] :: [a_aGa]) ->
+ GHC.Base.build
+ @b_aGb
+ (\ (@b1_aHe)
+ (c_aHf [Occ=Once1, OS=OneShot] :: b_aGb -> b1_aHe -> b1_aHe)
+ (n_aHg [Occ=Once1, OS=OneShot] :: b1_aHe) ->
+ GHC.Base.foldr
+ @a_aGa
+ @b1_aHe
+ (GHC.Base.mapFB @b_aGb @b1_aHe @a_aGa c_aHf eta_B0)
+ n_aHg
+ eta_B1)}]
+$cmyfmap_aG7
+ = \ (@a_aGa)
+ (@b_aGb)
+ _ [Occ=Dead, Dmd=A]
+ _ [Occ=Dead, Dmd=A, OS=OneShot] ->
+ map @a_aGa @b_aGb
-- RHS size: {terms: 1, types: 0, coercions: 3, joins: 0/0}
-Foo.$fMyFunctor[] [InlPrag=CONLIKE] :: MyFunctor []
+Foo.$fMyFunctor[] [InlPrag=INLINE (sat-args=0)] :: MyFunctor []
[LclIdX[DFunId(nt)],
Arity=4,
- Unf=DFun: \ -> Foo.C:MyFunctor TYPE: [] $cmyfmap_aG0]
+ Str=<A><A><U><SU>,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
+ WorkFree=True, Expandable=True,
+ Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
+ Tmpl= $cmyfmap_aG7
+ `cast` (Sym (Foo.N:MyFunctor[0] <[]>_N)
+ :: (forall a b.
+ (Domain [] a, Domain [] b) =>
+ (a -> b) -> [a] -> [b])
+ ~R# MyFunctor [])}]
Foo.$fMyFunctor[]
- = $cmyfmap_aG0
+ = $cmyfmap_aG7
`cast` (Sym (Foo.N:MyFunctor[0] <[]>_N)
:: (forall a b.
(Domain [] a, Domain [] b) =>
(a -> b) -> [a] -> [b])
~R# MyFunctor [])
--- RHS size: {terms: 114, types: 12, coercions: 0, joins: 0/1}
-$sshared_sHu :: Domain [] Int => [Int] -> [Int]
-[LclId, Arity=1]
-$sshared_sHu
- = \ (irred_azD :: Domain [] Int) ->
- let {
- f_sHt :: [Int] -> [Int]
- [LclId]
- f_sHt
- = myfmap
- @[]
- Foo.$fMyFunctor[]
- @Int
- @Int
- irred_azD
- irred_azD
- GHC.Num.$fNumInt_$cnegate } in
- \ (x_X4N :: [Int]) ->
- f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- (f_sHt
- x_X4N))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+-- RHS size: {terms: 2, types: 2, coercions: 0, joins: 0/0}
+$sshared_sHD :: [Int] -> [Int]
+[LclId,
+ Arity=1,
+ Str=<SU>,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
+ WorkFree=True, Expandable=True,
+ Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
+ Tmpl= map @Int @Int GHC.Num.$fNumInt_$cnegate}]
+$sshared_sHD = map @Int @Int GHC.Num.$fNumInt_$cnegate
--- RHS size: {terms: 116, types: 16, coercions: 0, joins: 0/1}
+-- RHS size: {terms: 115, types: 15, coercions: 2, joins: 0/1}
shared
:: forall (f :: * -> *).
(MyFunctor f, Domain f Int) =>
f Int -> f Int
[LclIdX,
Arity=2,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=NEVER},
+ Str=<UC1(CS(CS(U)))><U>,
RULES: "SPEC shared @[]"
- forall ($dMyFunctor_sHr :: MyFunctor []).
- shared @[] $dMyFunctor_sHr
- = $sshared_sHu]
+ forall ($dMyFunctor_sHz :: MyFunctor [])
+ (irred_sHA :: Domain [] Int).
+ shared @[] $dMyFunctor_sHz irred_sHA
+ = $sshared_sHD]
shared
- = \ (@(f_azB :: * -> *))
- ($dMyFunctor_azC :: MyFunctor f_azB)
- (irred_azD :: Domain f_azB Int) ->
+ = \ (@(f_ayh :: * -> *))
+ ($dMyFunctor_ayi [Dmd=UC1(CS(CS(U)))] :: MyFunctor f_ayh)
+ (irred_ayj :: Domain f_ayh Int) ->
let {
- f_sHq :: f_azB Int -> f_azB Int
+ f_sHy :: f_ayh Int -> f_ayh Int
[LclId]
- f_sHq
- = myfmap
- @f_azB
- $dMyFunctor_azC
- @Int
- @Int
- irred_azD
- irred_azD
- GHC.Num.$fNumInt_$cnegate } in
- \ (x_X4N :: f_azB Int) ->
- f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
- (f_sHq
+ f_sHy
+ = ($dMyFunctor_ayi
+ `cast` (Foo.N:MyFunctor[0] <f_ayh>_N
+ :: MyFunctor f_ayh
+ ~R# (forall a b.
+ (Domain f_ayh a, Domain f_ayh b) =>
+ (a -> b) -> f_ayh a -> f_ayh b)))
+ @Int @Int irred_ayj irred_ayj GHC.Num.$fNumInt_$cnegate } in
+ \ (x_X4N :: f_ayh Int) ->
+ f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
+ (f_sHy
x_X4N))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
--- RHS size: {terms: 8, types: 4, coercions: 4, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
+lvl_sHI :: Int
+[LclId]
+lvl_sHI = GHC.Types.I# 0#
+
+-- RHS size: {terms: 6, types: 5, coercions: 0, joins: 0/0}
foo :: [Int] -> [Int]
[LclIdX,
Arity=1,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 60 0}]
+ Str=<U>,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
+ WorkFree=True, Expandable=True,
+ Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
+ Tmpl= \ (xs_awV [Occ=Once1] :: [Int]) ->
+ GHC.Base.build
+ @Int
+ (\ (@b1_aHe)
+ (c_aHf [Occ=Once1, OS=OneShot] :: Int -> b1_aHe -> b1_aHe)
+ (n_aHg [Occ=Once1, OS=OneShot] :: b1_aHe) ->
+ GHC.Base.foldr
+ @Int
+ @b1_aHe
+ (GHC.Base.mapFB @Int @b1_aHe @Int c_aHf GHC.Num.$fNumInt_$cnegate)
+ n_aHg
+ (GHC.Types.: @Int lvl_sHI xs_awV))}]
foo
- = \ (xs_axd :: [Int]) ->
- shared
- @[]
- Foo.$fMyFunctor[]
- (GHC.Classes.(%%)
- `cast` (Sub (Sym (Foo.D:R:Domain[]a[0] <Int>_N))
- :: (() :: Constraint) ~R# Domain [] Int))
- (GHC.Types.: @Int (GHC.Types.I# 0#) xs_axd)
+ = \ (xs_awV :: [Int]) ->
+ map
+ @Int
+ @Int
+ GHC.Num.$fNumInt_$cnegate
+ (GHC.Types.: @Int lvl_sHI xs_awV)
+
+-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+lvl_sHJ :: Int
+[LclId]
+lvl_sHJ = lvl_sHI
--- RHS size: {terms: 8, types: 4, coercions: 4, joins: 0/0}
+-- RHS size: {terms: 6, types: 5, coercions: 0, joins: 0/0}
bar :: [Int] -> [Int]
[LclIdX,
Arity=1,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 60 10}]
+ Str=<1U>,
+ Cpr=m2,
+ Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
+ WorkFree=True, Expandable=True,
+ Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
+ Tmpl= \ (xs_awW [Occ=Once1] :: [Int]) ->
+ GHC.Types.:
+ @Int
+ lvl_sHI
+ (GHC.Base.build
+ @Int
+ (\ (@b1_aHe)
+ (c_aHf [Occ=Once1, OS=OneShot] :: Int -> b1_aHe -> b1_aHe)
+ (n_aHg [Occ=Once1, OS=OneShot] :: b1_aHe) ->
+ GHC.Base.foldr
+ @Int
+ @b1_aHe
+ (GHC.Base.mapFB @Int @b1_aHe @Int c_aHf GHC.Num.$fNumInt_$cnegate)
+ n_aHg
+ xs_awW))}]
bar
- = \ (xs_axe :: [Int]) ->
+ = \ (xs_awW :: [Int]) ->
GHC.Types.:
- @Int
- (GHC.Types.I# 0#)
- (shared
- @[]
- Foo.$fMyFunctor[]
- (GHC.Classes.(%%)
- `cast` (Sub (Sym (Foo.D:R:Domain[]a[0] <Int>_N))
- :: (() :: Constraint) ~R# Domain [] Int))
- xs_axe)
+ @Int lvl_sHI (map @Int @Int GHC.Num.$fNumInt_$cnegate xs_awW)
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
-$trModule_sHj :: GHC.Prim.Addr#
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
-$trModule_sHj = "main"#
+$trModule_sHr :: GHC.Prim.Addr#
+[LclId]
+$trModule_sHr = "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$trModule_sHk :: GHC.Types.TrName
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-$trModule_sHk = GHC.Types.TrNameS $trModule_sHj
+$trModule_sHs :: GHC.Types.TrName
+[LclId]
+$trModule_sHs = GHC.Types.TrNameS $trModule_sHr
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
-$trModule_sHl :: GHC.Prim.Addr#
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
-$trModule_sHl = "Foo"#
+$trModule_sHt :: GHC.Prim.Addr#
+[LclId]
+$trModule_sHt = "Foo"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$trModule_sHm :: GHC.Types.TrName
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-$trModule_sHm = GHC.Types.TrNameS $trModule_sHl
+$trModule_sHu :: GHC.Types.TrName
+[LclId]
+$trModule_sHu = GHC.Types.TrNameS $trModule_sHt
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
Foo.$trModule :: GHC.Types.Module
-[LclIdX,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-Foo.$trModule = GHC.Types.Module $trModule_sHk $trModule_sHm
+[LclIdX]
+Foo.$trModule = GHC.Types.Module $trModule_sHs $trModule_sHu
-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
-$krep_aGA [InlPrag=[~]] :: GHC.Types.KindRep
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-$krep_aGA
+$krep_aGF [InlPrag=[~]] :: GHC.Types.KindRep
+[LclId]
+$krep_aGF
= GHC.Types.KindRepTyConApp
GHC.Types.$tcConstraint (GHC.Types.[] @GHC.Types.KindRep)
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
-$krep_aGz [InlPrag=[~]] :: GHC.Types.KindRep
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-$krep_aGz = GHC.Types.KindRepFun GHC.Types.krep$*Arr* $krep_aGA
+$krep_aGE [InlPrag=[~]] :: GHC.Types.KindRep
+[LclId]
+$krep_aGE = GHC.Types.KindRepFun GHC.Types.krep$*Arr* $krep_aGF
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
-$tcMyFunctor_sHn :: GHC.Prim.Addr#
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 0}]
-$tcMyFunctor_sHn = "MyFunctor"#
+$tcMyFunctor_sHv :: GHC.Prim.Addr#
+[LclId]
+$tcMyFunctor_sHv = "MyFunctor"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$tcMyFunctor_sHo :: GHC.Types.TrName
-[LclId,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
-$tcMyFunctor_sHo = GHC.Types.TrNameS $tcMyFunctor_sHn
+$tcMyFunctor_sHw :: GHC.Types.TrName
+[LclId]
+$tcMyFunctor_sHw = GHC.Types.TrNameS $tcMyFunctor_sHv
-- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
Foo.$tcMyFunctor :: GHC.Types.TyCon
-[LclIdX,
- Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
- WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+[LclIdX]
Foo.$tcMyFunctor
= GHC.Types.TyCon
- 12837160846121910345##64
- 787075802864859973##64
+ 12837160846121910345##
+ 787075802864859973##
Foo.$trModule
- $tcMyFunctor_sHo
+ $tcMyFunctor_sHw
0#
- $krep_aGz
-
-
-
+ $krep_aGE