RESOLVED FIXED Bug 118749
fourthTier: DFG should do a high-level LICM before going to FTL
https://bugs.webkit.org/show_bug.cgi?id=118749
Summary fourthTier: DFG should do a high-level LICM before going to FTL
Filip Pizlo
Reported 2013-07-16 14:51:05 PDT
Fun!
Attachments
WRONG PATCH (13.13 KB, patch)
2013-07-16 21:31 PDT, Filip Pizlo
no flags
work in progress (12.38 KB, patch)
2013-07-21 15:29 PDT, Filip Pizlo
no flags
it might work (22.54 KB, patch)
2013-07-21 16:20 PDT, Filip Pizlo
no flags
it just motioned some loop-invariant code (39.12 KB, patch)
2013-07-21 21:57 PDT, Filip Pizlo
no flags
fixed some stuff (40.04 KB, patch)
2013-07-21 22:12 PDT, Filip Pizlo
no flags
the patch (47.59 KB, patch)
2013-07-22 11:45 PDT, Filip Pizlo
no flags
the patch (45.47 KB, patch)
2013-07-22 11:47 PDT, Filip Pizlo
no flags
the patch (57.37 KB, patch)
2013-07-22 15:22 PDT, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2013-07-16 21:31:50 PDT
Created attachment 206847 [details] WRONG PATCH
Filip Pizlo
Comment 2 2013-07-19 18:48:19 PDT
Some notes: - We cannot hoist, or sink, anything that has effects. This means that the easiest way of indicating that something cannot be hoisted is to claim that it side-effects some miscellaneous thing. - Whenever we hoist, we must replace the original node with a Phantom. - We cannot hoist forward-exiting nodes without some additional effort. I believe that what it comes down to is that forward-exiting generally have their NodeExitsForward cleared upon hoist, except for forward-exiting nodes that take bogus state as their input. Those are substantially harder. :-/
Filip Pizlo
Comment 3 2013-07-21 15:29:25 PDT
Created attachment 207215 [details] work in progress
Filip Pizlo
Comment 4 2013-07-21 16:20:56 PDT
Created attachment 207218 [details] it might work But I can't test it because the prerequisites haven't landed yet.
Filip Pizlo
Comment 5 2013-07-21 20:37:00 PDT
Comment on attachment 207218 [details] it might work I didn't mean to set r?, since I haven't even compiled this yet.
Filip Pizlo
Comment 6 2013-07-21 21:57:03 PDT
Created attachment 207225 [details] it just motioned some loop-invariant code
Filip Pizlo
Comment 7 2013-07-21 22:04:50 PDT
Comment on attachment 207225 [details] it just motioned some loop-invariant code Once again, I didn't mean to r?. I haven't fully tested it yet.
Filip Pizlo
Comment 8 2013-07-21 22:12:44 PDT
Created attachment 207226 [details] fixed some stuff I totally forgot about updating the state-at-tail.
Filip Pizlo
Comment 9 2013-07-22 11:45:48 PDT
Created attachment 207259 [details] the patch
Filip Pizlo
Comment 10 2013-07-22 11:47:14 PDT
Created attachment 207260 [details] the patch Fix changelog.
Filip Pizlo
Comment 11 2013-07-22 15:22:05 PDT
Created attachment 207286 [details] the patch Lifted the inner-most loop restriction.
Filip Pizlo
Comment 12 2013-07-22 22:39:03 PDT
Note You need to log in before you can comment on or make changes to this bug.