FloatOut: Allow floating through breakpoint ticks
authorBen Gamari <bgamari.foss@gmail.com>
Tue, 31 Jan 2017 21:05:26 +0000 (16:05 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 31 Jan 2017 23:50:21 +0000 (18:50 -0500)
commit44f079f74869d8cb417e2dcc104517ae7f593e5f
treefc358e5be8857aed19a9f9198060fbad6ab3b47c
parentafc05c76c3bd672ce04527c89b29d184e94c8c6d
FloatOut: Allow floating through breakpoint ticks

I believe this is actually a completely valid thing to do, despite the
arguments put forth in #10052. All that was missing was logic in
SetLevels to correctly substitute the cloned binders into the
breakpoint's free variable list.

This is a prerequisite for enabling StaticPointer support in the
interpreter.

Test Plan: Validate

Reviewers: austin, scpmw

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D3049
compiler/simplCore/FloatOut.hs
compiler/simplCore/SetLevels.hs