summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core/Opt/Pipeline.hs
diff options
context:
space:
mode:
authorAdam Gundry <adam@well-typed.com>2023-05-13 18:43:16 +0200
committersheaf <sam.derbyshire@gmail.com>2023-05-13 18:43:16 +0200
commit6bb5d279e5132e73ad1823d645b10c451264aa78 (patch)
treefbee06f32e51b3b1a290f60dfdbddc4aa53c1bbe /compiler/GHC/Core/Opt/Pipeline.hs
parenta175170c5a124e952760d6aef5a50a4f038aeda2 (diff)
downloadhaskell-wip/amg/dcoercion.tar.gz
Directed coercionswip/amg/dcoercion
This patch introduces a slimmer version of coercions, directed coercions, which store fewer types within them. This more compact representation considerably speeds up programs which involve many type family reductions, as the coercion size no longer grows quadratically in the number of reduction steps. ------------------------- Metric Decrease: LargeRecord T12227 T12545 T13386 T3064 T5030 T8095 T9872a T9872b T9872b_defer T9872c T9872d Metric Increase: CoOpt_Singletons T18223 T9872a T9872b T9872c T9872d -------------------------
Diffstat (limited to 'compiler/GHC/Core/Opt/Pipeline.hs')
-rw-r--r--compiler/GHC/Core/Opt/Pipeline.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/GHC/Core/Opt/Pipeline.hs b/compiler/GHC/Core/Opt/Pipeline.hs
index 0761691f84..7e626bb374 100644
--- a/compiler/GHC/Core/Opt/Pipeline.hs
+++ b/compiler/GHC/Core/Opt/Pipeline.hs
@@ -199,7 +199,7 @@ getCoreToDo dflags hpt_rule_base extra_vars
runWhen (profiling && gopt Opt_ProfLateInlineCcs dflags) $ CoreAddLateCcs
core_todo =
- [
+ [
-- We want to do the static argument transform before full laziness as it
-- may expose extra opportunities to float things outwards. However, to fix
-- up the output of the transformation we need at do at least one simplify