Please take another look.

https://chromiumcodereview.appspot.com/9141016/diff/8001/src/hydrogen.cc
File src/hydrogen.cc (right):

https://chromiumcodereview.appspot.com/9141016/diff/8001/src/hydrogen.cc#newcode1494
src/hydrogen.cc:1494: // instruction.
I'm not sure that's true. We're careful to order the blocks in reverse
post order, which means that ignoring loops, if there is a path a -> b
-> c, then a.id() < b.id() < c.id(). It's overly conservative, but
correct. I talked to Kevin, and he also agreed that this reasoning is
sound, and also pointed out that liveness analysis relies on this same
principle.
On 2012/01/25 00:04:57, fschneider wrote:
In general a path from the header to the current instruction may
involve all
blocks from the loop that are not dominated by the current
instruction.
   preceeding_loop_depends accumulates the dependencies of the blocks
with an id
less than the current block, and therefore can be missing the ones of
blocks
with higher ids that are not dominated by the current instruction.

https://chromiumcodereview.appspot.com/9141016/diff/8001/src/hydrogen.cc#newcode1495
src/hydrogen.cc:1495: can_hoist =
On 2012/01/25 00:04:57, fschneider wrote:
Please add a unit test that covers the two cases that can occur here:
hoisting
and not hoisting the instruction.

Done.

https://chromiumcodereview.appspot.com/9141016/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to