Remove dead code: ruleLhsOrphNames
authorSimon Peyton Jones <simonpj@microsoft.com>
Tue, 6 Oct 2015 08:53:07 +0000 (09:53 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 6 Oct 2015 08:53:42 +0000 (09:53 +0100)
compiler/coreSyn/CoreFVs.hs
compiler/specialise/Rules.hs

index f5f58dc..af4197e 100644 (file)
@@ -24,7 +24,7 @@ module CoreFVs (
         idUnfoldingVars, idFreeVars, idRuleAndUnfoldingVars,
         idRuleVars, idRuleRhsVars, stableUnfoldingVars,
         ruleRhsFreeVars, ruleFreeVars, rulesFreeVars,
-        ruleLhsOrphNames, ruleLhsFreeIds, exprsOrphNames,
+        ruleLhsFreeIds, exprsOrphNames,
         vectsFreeVars,
 
         -- * Core syntax tree annotation with free variables
@@ -215,21 +215,6 @@ tickish_fvs _ = noVars
 ************************************************************************
 -}
 
--- | ruleLhsOrphNames is used when deciding whether
--- a rule is an orphan.  In particular, suppose that T is defined in this
--- module; we want to avoid declaring that a rule like:
---
--- > fromIntegral T = fromIntegral_T
---
--- is an orphan. Of course it isn't, and declaring it an orphan would
--- make the whole module an orphan module, which is bad.
-ruleLhsOrphNames :: CoreRule -> NameSet
-ruleLhsOrphNames (BuiltinRule { ru_fn = fn }) = unitNameSet fn
-ruleLhsOrphNames (Rule { ru_fn = fn, ru_args = tpl_args })
-  = extendNameSet (exprsOrphNames tpl_args) fn
-                -- No need to delete bndrs, because
-                -- exprsOrphNames finds only External names
-
 -- | Finds the free /external/ names of an expression, notably
 -- including the names of type constructors (which of course do not show
 -- up in 'exprFreeVars').
index dd48832..d6a56d6 100644 (file)
@@ -180,7 +180,6 @@ mkRule this_mod is_auto is_local name act fn bndrs args rhs
         -- A rule is an orphan only if none of the variables
         -- mentioned on its left-hand side are locally defined
     lhs_names = nameSetElems (extendNameSet (exprsOrphNames args) fn)
-        -- TODO: copied from ruleLhsOrphNames
 
         -- Since rules get eventually attached to one of the free names
         -- from the definition when compiling the ABI hash, we should make