Simon Peyton Jones pushed to branch wip/spj-try-opt-coercion at Glasgow Haskell Compiler / GHC
Commits:
-
6efc02e1
by Simon Peyton Jones at 2026-05-04T23:12:27+01:00
1 changed file:
Changes:
| 1 | +section: compiler
|
|
| 2 | +synopsis: Substantially reduce coercion optimisation
|
|
| 3 | +issues: #26679
|
|
| 4 | +mrs: !15175
|
|
| 5 | + |
|
| 6 | +description: {
|
|
| 7 | +The coercion optimiser can gobble up a lot of compile time when there
|
|
| 8 | +are lots of coercions. Its goal is to shrink coercions in order to reduce
|
|
| 9 | +compile time, so it's bad that it sometimes increases it.
|
|
| 10 | + |
|
| 11 | +This change introduces a simpler and faster coercion optimser, called
|
|
| 12 | +`optCoRefl`, which is used frequently, relegating the big-hammer coercion
|
|
| 13 | +optimiser to a separate pass of its own.
|
|
| 14 | + |
|
| 15 | +A new flag `-fopt-refl-coercion` (on by default) controls the new `optCoRefl`
|
|
| 16 | +optimiser.
|
|
| 17 | +}
|
|
| 18 | + |