summaryrefslogtreecommitdiff
path: root/compiler/deSugar/DsUsage.hs
diff options
context:
space:
mode:
authorBartosz Nitka <niteria@gmail.com>2017-05-15 04:44:35 -0700
committerBartosz Nitka <niteria@gmail.com>2017-05-15 04:45:22 -0700
commit8bf50d5026f92eb5a6768eb2ac38479802da1411 (patch)
treeb7b17398228732c53f6833d11448b91302f87d51 /compiler/deSugar/DsUsage.hs
parentffbcffffecf0307ff4dd3173503e2d3387d53386 (diff)
downloadhaskell-8bf50d5026f92eb5a6768eb2ac38479802da1411.tar.gz
Revert "Use a deterministic map for imp_dep_mods"
This reverts commit 7fea7121ce195e562a5443c0a8ef3861504ef1b3. It turns out that on a newly added MultiLayerModules test case it gets very expensive to union the transitive module sets while preserving determinism. Fortunately, we can just sort to restore determinism when converting imp_dep_mods to a list. Test Plan: ./validate Reviewers: simonmar, austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3577
Diffstat (limited to 'compiler/deSugar/DsUsage.hs')
-rw-r--r--compiler/deSugar/DsUsage.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/deSugar/DsUsage.hs b/compiler/deSugar/DsUsage.hs
index 25d8254f55..8158a8e122 100644
--- a/compiler/deSugar/DsUsage.hs
+++ b/compiler/deSugar/DsUsage.hs
@@ -16,7 +16,7 @@ import Module
import Outputable
import Util
import UniqSet
-import UniqDFM
+import UniqFM
import Fingerprint
import Maybes
@@ -37,7 +37,7 @@ mkDependencies
= do
-- Template Haskell used?
th_used <- readIORef th_var
- let dep_mods = eltsUDFM (delFromUDFM (imp_dep_mods imports)
+ let dep_mods = modDepsElts (delFromUFM (imp_dep_mods imports)
(moduleName mod))
-- M.hi-boot can be in the imp_dep_mods, but we must remove
-- it before recording the modules on which this one depends!