summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2020-03-20 08:48:47 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-03-29 17:29:30 -0400
commit54250f2d8de910b094070c1b48f086030df634b1 (patch)
treee062c160912d97eefbdd21d2ce239fd824089e43 /testsuite/tests/simplCore
parentf1a6c73d01912b389e012a0af81a5c2002e82636 (diff)
downloadhaskell-54250f2d8de910b094070c1b48f086030df634b1.tar.gz
Demand analysis: simplify the demand for a RHS
Ticket #17932 showed that we were using a stupid demand for the RHS of a let-binding, when the result is a product. This was the result of a "fix" in 2013, which (happily) turns out to no longer be necessary. So I just deleted the code, which simplifies the demand analyser, and fixes #17932. That in turn uncovered that the anticipation of worker/wrapper in CPR analysis was inaccurate, hence the logic that decides whether to unbox an argument in WW was extracted into a function `wantToUnbox`, now consulted by CPR analysis. I tried nofib, and got 0.0% perf changes. All this came up when messing about with !2873 (ticket #17917), but is idependent of it. Unfortunately, this patch regresses #4267 and realised that it is now blocked on #16335.
Diffstat (limited to 'testsuite/tests/simplCore')
-rw-r--r--testsuite/tests/simplCore/should_compile/T4201.stdout2
1 files changed, 1 insertions, 1 deletions
diff --git a/testsuite/tests/simplCore/should_compile/T4201.stdout b/testsuite/tests/simplCore/should_compile/T4201.stdout
index e12c9f1584..9d13fc2b4d 100644
--- a/testsuite/tests/simplCore/should_compile/T4201.stdout
+++ b/testsuite/tests/simplCore/should_compile/T4201.stdout
@@ -1,3 +1,3 @@
- [HasNoCafRefs, Arity: 1, Strictness: <S,1*H>, CPR: m1,
+ [HasNoCafRefs, Arity: 1, Strictness: <S,1*U>,
Unfolding: InlineRule (0, True, True)
bof `cast` (Sym (N:Foo[0]) ->_R <T>_R)]