Add an ambient Id substitution to Subst
After a struggle, I fixed Trac #5113 (again) on the 7.10 branch, by adding an ambient substitution to Subst; see CoreSubst, esp Note [IdSubstEnv]. This allowed me to do the impedence-matching in SimplEnv.substExpr efficiently (fixing #10370) as well correctly (fixing the latest problem with #5113). This cost me more time than I like to say. Sigh.
Showing
- compiler/coreSyn/CoreSubst.hs 111 additions, 26 deletionscompiler/coreSyn/CoreSubst.hs
- compiler/simplCore/SimplEnv.hs 39 additions, 78 deletionscompiler/simplCore/SimplEnv.hs
- compiler/simplCore/Simplify.hs 1 addition, 1 deletioncompiler/simplCore/Simplify.hs
- compiler/specialise/Rules.hs 4 additions, 4 deletionscompiler/specialise/Rules.hs
Loading
Please register or sign in to comment