summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmSpillReload.hs
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2009-11-12 09:29:06 +0000
committersimonpj@microsoft.com <unknown>2009-11-12 09:29:06 +0000
commitcd0e2c0cc3005c3f5e74eeda57dc9cebbe1bac7e (patch)
tree38625333890893f147e807e253937e6b75b775ce /compiler/cmm/CmmSpillReload.hs
parent74bc2267c6e884a66cd3e03c218c849519b975f7 (diff)
downloadhaskell-cd0e2c0cc3005c3f5e74eeda57dc9cebbe1bac7e.tar.gz
A radical overhaul of the coercion infrastucture
* Core Lint now does full checking of kinds and coercion terms which picks up kind errors in coercions that were previously simply not checked for * Coercion.lhs now provides optCoercion which optimises coercion terms. It implements all of Dimitrios's rules * The constructors for coercion terms now make no attempt to be "smart"; instead we rely solely on the coercion optimiser * CoercionTyCons in TyCon.lhs always had a "custom" kinding rule (the coKindFun field of CoercionTyCon) but its type was not clever enough to do both (a) *figure out the result kind*, assuming the whole thing is well-kinded in the first place (b) *check* the kinds of everything, failing gracefully if they aren't right. We need (b) for the new CoreLint stuff. The field now has type CoTyConKindChecker which does the job nicely.
Diffstat (limited to 'compiler/cmm/CmmSpillReload.hs')
0 files changed, 0 insertions, 0 deletions