diff options
| author | Bartosz Nitka <niteria@gmail.com> | 2017-05-15 04:44:35 -0700 |
|---|---|---|
| committer | Bartosz Nitka <niteria@gmail.com> | 2017-05-15 04:45:22 -0700 |
| commit | 8bf50d5026f92eb5a6768eb2ac38479802da1411 (patch) | |
| tree | b7b17398228732c53f6833d11448b91302f87d51 /compiler/deSugar/DsUsage.hs | |
| parent | ffbcffffecf0307ff4dd3173503e2d3387d53386 (diff) | |
| download | haskell-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.hs | 4 |
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! |
