X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fcompiler%2FcoreSyn%2FCoreFVs.lhs;h=9d66e5073d05d0c36971118863e2bfe71d7b72f7;hb=bcea125324625d548f4705c29a9d9c57b7a9dc13;hp=0bce99ba2583bbc2ca4e6d214a92b5a25e6e1b83;hpb=e0d750bedbd33f7a133c8c82c35fd8db537ab649;p=ghc-hetmet.git diff --git a/ghc/compiler/coreSyn/CoreFVs.lhs b/ghc/compiler/coreSyn/CoreFVs.lhs index 0bce99b..9d66e50 100644 --- a/ghc/compiler/coreSyn/CoreFVs.lhs +++ b/ghc/compiler/coreSyn/CoreFVs.lhs @@ -11,8 +11,7 @@ module CoreFVs ( exprSomeFreeVars, exprsSomeFreeVars, idRuleVars, idFreeVars, idFreeTyVars, - ruleSomeFreeVars, ruleRhsFreeVars, - ruleLhsFreeNames, ruleLhsFreeIds, + ruleRhsFreeVars, ruleLhsFreeNames, ruleLhsFreeIds, CoreExprWithFVs, -- = AnnExpr Id VarSet CoreBindWithFVs, -- = AnnBind Id VarSet @@ -28,7 +27,7 @@ import NameSet import VarSet import Var ( Var, isId, isLocalVar, varName ) import Type ( tyVarsOfType ) -import TcType ( namesOfType ) +import TcType ( tyClsNamesOfType ) import Util ( mapAndUnzip ) import Outputable \end{code} @@ -165,9 +164,9 @@ ruleLhsFreeNames (fn, Rule _ _ tpl_vars tpl_args rhs) = addOneToNameSet (exprsFreeNames tpl_args `del_binders` tpl_vars) (varName fn) exprFreeNames :: CoreExpr -> NameSet -exprFreeNames (Var v) = unitNameSet (varName v) -exprFreeNames (Lit _) = emptyNameSet -exprFreeNames (Type ty) = namesOfType ty +exprFreeNames (Var v) = unitNameSet (varName v) +exprFreeNames (Lit _) = emptyNameSet +exprFreeNames (Type ty) = tyClsNamesOfType ty -- Don't need free tyvars exprFreeNames (App e1 e2) = exprFreeNames e1 `unionNameSets` exprFreeNames e2 exprFreeNames (Lam v e) = exprFreeNames e `delFromNameSet` varName v exprFreeNames (Note n e) = exprFreeNames e @@ -207,14 +206,6 @@ ruleRhsFreeVars (Rule str _ tpl_vars tpl_args rhs) where rule_fvs = addBndrs tpl_vars (expr_fvs rhs) -ruleSomeFreeVars :: InterestingVarFun -> CoreRule -> VarSet -ruleSomeFreeVars interesting (BuiltinRule _ _) = noFVs -ruleSomeFreeVars interesting (Rule _ _ tpl_vars tpl_args rhs) - = rule_fvs interesting emptyVarSet - where - rule_fvs = addBndrs tpl_vars $ - foldr (union . expr_fvs) (expr_fvs rhs) tpl_args - ruleLhsFreeIds :: CoreRule -> VarSet -- This finds all the free Ids on the LHS of the rule -- *including* imported ids