summaryrefslogtreecommitdiff
path: root/compiler/GHC/Unit/Module/ModGuts.hs
diff options
context:
space:
mode:
authornineonine <mail4chemik@gmail.com>2021-11-10 00:52:06 -0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-03-20 21:16:06 -0400
commitc842611fc72d987519cd9fab1c351135ae93665e (patch)
treeaa4365b4050a0733887a4d4f0291e6e9d52cc801 /compiler/GHC/Unit/Module/ModGuts.hs
parentd45bb70178e044bc8b6e8215da7bc8ed0c95f2cb (diff)
downloadhaskell-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 'compiler/GHC/Unit/Module/ModGuts.hs')
0 files changed, 0 insertions, 0 deletions