findUses, duDefs, duUses, allUses
) where
+-- XXX This define is a bit of a hack, and should be done more nicely
+#define FAST_STRING_NOT_NEEDED 1
#include "HsVersions.h"
import Name
delFV :: Name -> FreeVars -> FreeVars
delFVs :: [Name] -> FreeVars -> FreeVars
+isEmptyFVs :: NameSet -> Bool
isEmptyFVs = isEmptyNameSet
emptyFVs = emptyNameSet
plusFVs = unionManyNameSets
duDefs :: DefUses -> Defs
duDefs dus = foldr get emptyNameSet dus
where
- get (Nothing, u1) d2 = d2
- get (Just d1, u1) d2 = d1 `unionNameSets` d2
+ get (Nothing, _u1) d2 = d2
+ get (Just d1, _u1) d2 = d1 `unionNameSets` d2
duUses :: DefUses -> Uses
-- Just like allUses, but defs are not eliminated
duUses dus = foldr get emptyNameSet dus
where
- get (d1, u1) u2 = u1 `unionNameSets` u2
+ get (_d1, u1) u2 = u1 `unionNameSets` u2
allUses :: DefUses -> Uses
-- Collect all uses, regardless of