summaryrefslogtreecommitdiff
path: root/compiler/simplCore
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-11-10 21:41:33 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-12-03 21:04:50 -0500
commit78b67ad0e891fc3b66df72643fb173dc985e8306 (patch)
tree2520251bf1af6fea29c6f461dab5985a3f12fe95 /compiler/simplCore
parent25019d18109cd620a2cf6ab0e7d417d14935e8a5 (diff)
downloadhaskell-78b67ad0e891fc3b66df72643fb173dc985e8306.tar.gz
Simplify uniqAway
This does two things: * Eliminate all uses of Unique.deriveUnique, which was quite easy to mis-use and extremely subtle. * Rename the previous "derived unique" notion to "local unique". This is possible because the only places where `uniqAway` can be safely used are those where local uniqueness (with respect to some InScopeSet) is sufficient. * Rework the implementation of VarEnv.uniqAway, as discussed in #17462. This should make the operation significantly more efficient than its previous iterative implementation.. Metric Decrease: T9872c T12227 T9233 T14683 T5030 T12545 hie002 Metric Increase: T9961
Diffstat (limited to 'compiler/simplCore')
-rw-r--r--compiler/simplCore/CoreMonad.hs1
1 files changed, 0 insertions, 1 deletions
diff --git a/compiler/simplCore/CoreMonad.hs b/compiler/simplCore/CoreMonad.hs
index c87bd353c0..620f24c680 100644
--- a/compiler/simplCore/CoreMonad.hs
+++ b/compiler/simplCore/CoreMonad.hs
@@ -64,7 +64,6 @@ import FastString
import qualified ErrUtils as Err
import ErrUtils( Severity(..) )
import UniqSupply
-import NameEnv ( mapNameEnv, filterNameEnv )
import MonadUtils
import NameCache
import NameEnv