summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core/Utils.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Core/Utils.hs')
-rw-r--r--compiler/GHC/Core/Utils.hs23
1 files changed, 23 insertions, 0 deletions
diff --git a/compiler/GHC/Core/Utils.hs b/compiler/GHC/Core/Utils.hs
index d971f1ab1b..02cd2bf8af 100644
--- a/compiler/GHC/Core/Utils.hs
+++ b/compiler/GHC/Core/Utils.hs
@@ -47,6 +47,9 @@ module GHC.Core.Utils (
stripTicksTop, stripTicksTopE, stripTicksTopT,
stripTicksE, stripTicksT,
+ -- * InScopeSet things which work over CoreBinds
+ mkInScopeSetBndrs, extendInScopeSetBind, extendInScopeSetBndrs,
+
-- * StaticPtr
collectMakeStaticArgs,
@@ -2339,6 +2342,26 @@ normSplitTyConApp_maybe _ _ = Nothing
{-
*****************************************************
*
+* InScopeSet things
+*
+*****************************************************
+-}
+
+
+extendInScopeSetBind :: InScopeSet -> CoreBind -> InScopeSet
+extendInScopeSetBind (InScope in_scope) binds
+ = InScope $ foldBindersOfBindStrict extendVarSet in_scope binds
+
+extendInScopeSetBndrs :: InScopeSet -> [CoreBind] -> InScopeSet
+extendInScopeSetBndrs (InScope in_scope) binds
+ = InScope $ foldBindersOfBindsStrict extendVarSet in_scope binds
+
+mkInScopeSetBndrs :: [CoreBind] -> InScopeSet
+mkInScopeSetBndrs binds = foldBindersOfBindsStrict extendInScopeSet emptyInScopeSet binds
+
+{-
+*****************************************************
+*
* StaticPtr
*
*****************************************************