diff options
Diffstat (limited to 'compiler/simplCore/SimplEnv.hs')
-rw-r--r-- | compiler/simplCore/SimplEnv.hs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/compiler/simplCore/SimplEnv.hs b/compiler/simplCore/SimplEnv.hs index a5d8551a3a..96c2fc046d 100644 --- a/compiler/simplCore/SimplEnv.hs +++ b/compiler/simplCore/SimplEnv.hs @@ -31,7 +31,7 @@ module SimplEnv ( -- Floats Floats, emptyFloats, isEmptyFloats, addNonRec, addFloats, extendFloats, - wrapFloats, setFloats, zapFloats, addRecFloats, + wrapFloats, setFloats, zapFloats, addRecFloats, mapFloats, doFloatFromRhs, getFloatBinds ) where @@ -486,18 +486,14 @@ isEmptyFloats :: SimplEnv -> Bool isEmptyFloats (SimplEnv {seFloats = Floats bs _}) = isNilOL bs -{- --- mapFloats commented out: used only in a commented-out bit of Simplify, --- concerning ticks --- --- mapFloats :: SimplEnv -> ((Id,CoreExpr) -> (Id,CoreExpr)) -> SimplEnv --- mapFloats env@SimplEnv { seFloats = Floats fs ff } fun --- = env { seFloats = Floats (mapOL app fs) ff } --- where --- app (NonRec b e) = case fun (b,e) of (b',e') -> NonRec b' e' --- app (Rec bs) = Rec (map fun bs) - +mapFloats :: SimplEnv -> ((Id,CoreExpr) -> (Id,CoreExpr)) -> SimplEnv +mapFloats env@SimplEnv { seFloats = Floats fs ff } fun + = env { seFloats = Floats (mapOL app fs) ff } + where + app (NonRec b e) = case fun (b,e) of (b',e') -> NonRec b' e' + app (Rec bs) = Rec (map fun bs) +{- ************************************************************************ * * Substitution of Vars |