diff options
author | nineonine <mail4chemik@gmail.com> | 2021-11-10 00:52:06 -0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-03-20 21:16:06 -0400 |
commit | c842611fc72d987519cd9fab1c351135ae93665e (patch) | |
tree | aa4365b4050a0733887a4d4f0291e6e9d52cc801 /testsuite/tests/deriving/should_compile/all.T | |
parent | d45bb70178e044bc8b6e8215da7bc8ed0c95f2cb (diff) | |
download | haskell-c842611fc72d987519cd9fab1c351135ae93665e.tar.gz |
Revamp derived Eq instance code generation (#17240)
This patch improves code generation for derived Eq instances.
The idea is to use 'dataToTag' to evaluate both arguments.
This allows to 'short-circuit' when tags do not match.
Unfortunately, inner evals are still present when we branch
on tags. This is due to the way 'dataToTag#' primop
evaluates its argument in the code generator. #21207 was
created to explore further optimizations.
Metric Decrease:
LargeRecord
Diffstat (limited to 'testsuite/tests/deriving/should_compile/all.T')
-rw-r--r-- | testsuite/tests/deriving/should_compile/all.T | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/testsuite/tests/deriving/should_compile/all.T b/testsuite/tests/deriving/should_compile/all.T index a33cb364c3..05f9e87dcb 100644 --- a/testsuite/tests/deriving/should_compile/all.T +++ b/testsuite/tests/deriving/should_compile/all.T @@ -122,6 +122,7 @@ test('T15831', normal, compile, ['']) test('T16179', normal, compile, ['']) test('T16341', normal, compile, ['']) test('T16518', normal, compile, ['']) +test('T17240', normal, compile, ['-ddump-deriv -dsuppress-uniques']) test('T17324', normal, compile, ['']) test('T17339', normal, compile, ['-ddump-simpl -dsuppress-idinfo -dno-typeable-binds']) |