diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-08-29 10:14:45 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-08-29 10:21:37 +0100 |
commit | dfc9d309a5202d65032c80f5b74df17035a61b8c (patch) | |
tree | 18fb696fbf94a3c923f4c585ade76f6954b778d7 /compiler/simplCore/FloatIn.lhs | |
parent | 2da63c60d0edfc8b3ae9c31f2179fee0dc026edd (diff) | |
download | haskell-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.lhs | 4 |
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 |