summaryrefslogtreecommitdiff
path: root/compiler/ghc.mk
diff options
context:
space:
mode:
authorBartosz Nitka <niteria@gmail.com>2015-11-21 15:57:09 +0100
committerBen Gamari <ben@smart-cactus.org>2015-11-21 11:15:09 -0500
commit2325bd4e0fad0e5872556c5a78d1a6a1873e7201 (patch)
tree2aa0eaf21f76b07155ec280095b74e622900e1c3 /compiler/ghc.mk
parent6664ab8356f00ef0b2186f30a0d29a9c0228c045 (diff)
downloadhaskell-2325bd4e0fad0e5872556c5a78d1a6a1873e7201.tar.gz
Create a deterministic version of tyVarsOfType
I've run into situations where I need deterministic `tyVarsOfType` and this implementation achieves that and also brings an algorithmic improvement. Union of two `VarSet`s takes linear time the size of the sets and in the worst case we can have `n` unions of sets of sizes `(n-1, 1), (n-2, 1)...` making it quadratic. One reason why we need deterministic `tyVarsOfType` is in `abstractVars` in `SetLevels`. When we abstract type variables when floating we want them to be abstracted in deterministic order. Test Plan: harbormaster Reviewers: simonpj, goldfire, austin, hvr, simonmar, bgamari Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1468 GHC Trac Issues: #4012
Diffstat (limited to 'compiler/ghc.mk')
-rw-r--r--compiler/ghc.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/ghc.mk b/compiler/ghc.mk
index e3f824e5f3..b75fdc2cd5 100644
--- a/compiler/ghc.mk
+++ b/compiler/ghc.mk
@@ -529,6 +529,7 @@ compiler_stage2_dll0_MODULES = \
Fingerprint \
FiniteMap \
ForeignCall \
+ FV \
Hooks \
HsBinds \
HsDecls \