diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2018-05-31 07:49:55 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-06-02 11:47:36 -0400 |
commit | f0c1eb8b5640b0ec86b9fabb465ea5b841808d56 (patch) | |
tree | 8cc92878ef62325536beaaba1594e9360a30c367 /testsuite | |
parent | c983a1dbc01bb6ee68f67af5c7d662bc70845f6f (diff) | |
download | haskell-f0c1eb8b5640b0ec86b9fabb465ea5b841808d56.tar.gz |
Conservatively estimate levity in worker/wrapper
The worker/wrapper transform needs to determine the levity of the result to
determine whether it needs to introduce a lambda to preserve laziness of the
result. For this is previously used isUnliftedType. However, this may fail in
the presence of levity polymorphism.
We now instead use isLiftedType_maybe, assuming that a lambda is needed if the
levity of the result cannot be determined.
Fixes #15186.
Test Plan: make test=T15186
Reviewers: simonpj, goldfire, tdammers
Reviewed By: simonpj
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #15186
Differential Revision: https://phabricator.haskell.org/D4755
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/simplCore/should_compile/all.T | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/testsuite/tests/simplCore/should_compile/all.T b/testsuite/tests/simplCore/should_compile/all.T index a430521c89..5ad7dba94a 100644 --- a/testsuite/tests/simplCore/should_compile/all.T +++ b/testsuite/tests/simplCore/should_compile/all.T @@ -315,4 +315,4 @@ test('T15002', [ req_profiling ], compile, ['-O -fprof-auto -prof']) test('T15005', normal, compile, ['-O']) # we omit profiling because it affects the optimiser and makes the test fail test('T15056', [extra_files(['T15056a.hs']), omit_ways(['profasm'])], multimod_compile, ['T15056', '-O -v0 -ddump-rule-firings']) -test('T15186', expect_broken(15186), multimod_compile, ['T15186', '-v0']) +test('T15186', normal, multimod_compile, ['T15186', '-v0']) |