summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/spec-inline.stderr
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2018-12-12 17:22:07 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2018-12-12 17:38:25 +0000
commitd77501cd5b9060e38acd50e11e0c5aae89d75b65 (patch)
treea6cba21b5adb5c04b476c92bf33436bd1a880981 /testsuite/tests/simplCore/should_compile/spec-inline.stderr
parentded4a1db4d61b1bc8b5fd73e8eb87cf572efda35 (diff)
downloadhaskell-d77501cd5b9060e38acd50e11e0c5aae89d75b65.tar.gz
Improvements to demand analysis
This patch collects a few improvements triggered by Trac #15696, and fixing Trac #16029 * Stop making toCleanDmd behave specially for unlifted types. This special case was the cause of stupid behaviour in Trac #16029. And to my joy I discovered the let/app invariant rendered it unnecessary. (Maybe the special case pre-dated the let/app invariant.) Result: less special-case handling in the compiler, and better perf for the compiled code. * In WwLib.mkWWstr_one, treat seqDmd like U(AAA). It was not being so treated before, which again led to stupid code. * Update and improve Notes There are .stderr test wibbles because we get slightly different strictness signatures for an argumment of unlifted type: <L,U> rather than <S,U> for Int# <S,U> rather than <S(S),U(U)> for Int
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/spec-inline.stderr')
-rw-r--r--testsuite/tests/simplCore/should_compile/spec-inline.stderr4
1 files changed, 2 insertions, 2 deletions
diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr
index 78ba2b4c2d..d978cc5719 100644
--- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr
+++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr
@@ -62,7 +62,7 @@ Rec {
-- RHS size: {terms: 40, types: 5, coercions: 0, joins: 0/0}
Roman.foo_$s$wgo [Occ=LoopBreaker]
:: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
-[GblId, Arity=2, Caf=NoCafRefs, Str=<L,U><S,U>, Unf=OtherCon []]
+[GblId, Arity=2, Caf=NoCafRefs, Str=<L,A><L,U>, Unf=OtherCon []]
Roman.foo_$s$wgo
= \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) ->
case GHC.Prim.<=# sc1 0# of {
@@ -156,7 +156,7 @@ foo :: Int -> Int
[GblId,
Arity=1,
Caf=NoCafRefs,
- Str=<S(S),1*U(U)>m,
+ Str=<S,1*U(U)>m,
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)