diff options
| author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-08 13:23:31 +0000 |
|---|---|---|
| committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-08 13:39:39 +0000 |
| commit | 1d44261c01fe2b8e455ed454e7c4b49d26c433b2 (patch) | |
| tree | 075d41bff5aca2e8c07446c75427ead31ea9817c /compiler/codeGen | |
| parent | d64e682824631bc2a424f40b2776a2fbf457d122 (diff) | |
| download | haskell-1d44261c01fe2b8e455ed454e7c4b49d26c433b2.tar.gz | |
Revise the inert-set invariants again
In particular this patch
- Accepts that rewriting with the inert CTyEqCans should be done recursively
(hence removing the Bool result from flattenTyVarOuter)
- Refines the kick-out criterion, in paticular to avoid kick-out of (a -f-> ty)
when f cannot rewrite f. This is true of Wanteds and hence reduces kick-outs
of Wanteds, perhaps by a lot
This stuff is not fully documented because the details are still settling, but
it's looking good.
(And it validates.)
This patch includes the testsuite wibbles. perf/compiler/T5030 and
T5837 both improve in bytes-allocated (by 11% and 13% resp), which is
good. I'm not sure which of today's short series of patches is
responsible, nor do I mind much. (One could find out if necessary.)
Diffstat (limited to 'compiler/codeGen')
0 files changed, 0 insertions, 0 deletions
