summaryrefslogtreecommitdiff
path: root/compiler/simplCore/FloatIn.lhs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2014-08-29 10:14:45 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2014-08-29 10:21:37 +0100
commitdfc9d309a5202d65032c80f5b74df17035a61b8c (patch)
tree18fb696fbf94a3c923f4c585ade76f6954b778d7 /compiler/simplCore/FloatIn.lhs
parent2da63c60d0edfc8b3ae9c31f2179fee0dc026edd (diff)
downloadhaskell-dfc9d309a5202d65032c80f5b74df17035a61b8c.tar.gz
Define mapUnionVarSet, and use it
Call sites are much easier to understand than before
Diffstat (limited to 'compiler/simplCore/FloatIn.lhs')
-rw-r--r--compiler/simplCore/FloatIn.lhs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/simplCore/FloatIn.lhs b/compiler/simplCore/FloatIn.lhs
index f00768a9f5..a90d59cf77 100644
--- a/compiler/simplCore/FloatIn.lhs
+++ b/compiler/simplCore/FloatIn.lhs
@@ -344,7 +344,7 @@ fiExpr dflags to_drop (_,AnnLet (AnnRec bindings) body)
body_fvs = freeVarsOf body
-- See Note [extra_fvs (1,2)]
- rule_fvs = foldr (unionVarSet . idRuleAndUnfoldingVars) emptyVarSet ids
+ rule_fvs = mapUnionVarSet idRuleAndUnfoldingVars ids
extra_fvs = rule_fvs `unionVarSet`
unionVarSets [ fvs | (fvs, rhs) <- rhss
, noFloatIntoExpr rhs ]
@@ -552,7 +552,7 @@ sepBindsByDropPoint dflags is_case drop_pts floaters
floatedBindsFVs :: FloatInBinds -> FreeVarSet
-floatedBindsFVs binds = foldr (unionVarSet . fbFVs) emptyVarSet binds
+floatedBindsFVs binds = mapUnionVarSet fbFVs binds
fbFVs :: FloatInBind -> VarSet
fbFVs (FB _ fvs _) = fvs