diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2013-02-11 08:38:12 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2013-02-11 08:38:12 +0000 |
commit | 33683ba9367e03b6b051f1c0c694fd8bf244a759 (patch) | |
tree | b17d3fc691970ca34a055daf0ddbf8620180bb2f | |
parent | d72044dd95cc8134167893ebabd93585141f2696 (diff) | |
download | haskell-33683ba9367e03b6b051f1c0c694fd8bf244a759.tar.gz |
Extra comment about the fix to Trac #5113
-rw-r--r-- | compiler/specialise/Specialise.lhs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/specialise/Specialise.lhs b/compiler/specialise/Specialise.lhs index 61f134e196..e6e4c48092 100644 --- a/compiler/specialise/Specialise.lhs +++ b/compiler/specialise/Specialise.lhs @@ -1641,6 +1641,12 @@ variables? We have to take care to put any new interesting dictionary bindings in the set. +We accidentally lost accurate tracking of local variables for a long +time, because cloned variables don't have unfoldings. But makes a +massive difference in a few cases, eg Trac #5113. For nofib as a +whole it's only a small win: 2.2% improvement in allocation for ansi, +1.2% for bspt, but mostly 0.0! Average 0.1% increase in binary size. + \begin{code} interestingDict :: SpecEnv -> CoreExpr -> Bool |