Directed coercions
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 -------------------------
parent
a175170c
Branches wip/amg/dcoercion
No related tags found
Pipeline #76555 failed
Stage: tool-lint
Stage: quick-build
Stage: full-build
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Core/Coercion.hs 770 additions, 37 deletionscompiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Coercion.hs-boot 15 additions, 1 deletioncompiler/GHC/Core/Coercion.hs-boot
- compiler/GHC/Core/Coercion/Opt.hs 583 additions, 219 deletionscompiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/FVs.hs 25 additions, 6 deletionscompiler/GHC/Core/FVs.hs
- compiler/GHC/Core/FamInstEnv.hs 49 additions, 55 deletionscompiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/FamInstEnv.hs-boot 9 additions, 0 deletionscompiler/GHC/Core/FamInstEnv.hs-boot
- compiler/GHC/Core/Lint.hs 252 additions, 62 deletionscompiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/Pipeline.hs 1 addition, 1 deletioncompiler/GHC/Core/Opt/Pipeline.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs 4 additions, 2 deletionscompiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Reduction.hs 275 additions, 218 deletionscompiler/GHC/Core/Reduction.hs
- compiler/GHC/Core/SimpleOpt.hs 2 additions, 1 deletioncompiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Core/TyCo/FVs.hs 176 additions, 35 deletionscompiler/GHC/Core/TyCo/FVs.hs
- compiler/GHC/Core/TyCo/Ppr.hs 27 additions, 1 deletioncompiler/GHC/Core/TyCo/Ppr.hs
- compiler/GHC/Core/TyCo/Ppr.hs-boot 3 additions, 1 deletioncompiler/GHC/Core/TyCo/Ppr.hs-boot
- compiler/GHC/Core/TyCo/Rep.hs 258 additions, 52 deletionscompiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCo/Rep.hs-boot 2 additions, 1 deletioncompiler/GHC/Core/TyCo/Rep.hs-boot
- compiler/GHC/Core/TyCo/Subst.hs 135 additions, 45 deletionscompiler/GHC/Core/TyCo/Subst.hs
- compiler/GHC/Core/TyCo/Tidy.hs 34 additions, 7 deletionscompiler/GHC/Core/TyCo/Tidy.hs
- compiler/GHC/Core/Type.hs 93 additions, 28 deletionscompiler/GHC/Core/Type.hs
- compiler/GHC/Core/Unify.hs-boot 9 additions, 0 deletionscompiler/GHC/Core/Unify.hs-boot
Loading
Please register or sign in to comment