Refactor floating of bindings (fiBind)
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 27 Feb 2017 02:45:00 +0000 (21:45 -0500)
committerDavid Feuer <David.Feuer@gmail.com>
Mon, 27 Feb 2017 02:45:01 +0000 (21:45 -0500)
commite4188b538bfc879b201d416cf1d68ff7072c577f
treed0400c4c4e521cd59e34f5f1662c99e1f3faa77a
parent923d7ca2d90c1cb9816d14768abdd2e46adcd5dd
Refactor floating of bindings (fiBind)

This is just a local refactoring.

I originally planned to try floating top-level bindings inwards,
but I backed off from that leaving only this (harmless) refactoring,
which has no behavioural effect.

I also make FloatIn into a ModGuts -> ModGuts function; again not
necessary now, but no harm either.

My attempt also used the new function CoreFVs.freeVarsBind; but
that too is a plausible refactorig of freeVars, so I left it in too.

Reviewers: austin, bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D3180
compiler/coreSyn/CoreFVs.hs
compiler/simplCore/FloatIn.hs
compiler/simplCore/SimplCore.hs
testsuite/tests/perf/space_leaks/all.T