[Webkit-unassigned] [Bug 80415] Eliminate redundant Phis in DFG

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 6 17:44:01 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=80415





--- Comment #11 from Filip Pizlo <fpizlo at apple.com>  2012-03-06 17:44:01 PST ---
(In reply to comment #8)
> Created an attachment (id=130493)
 --> (https://bugs.webkit.org/attachment.cgi?id=130493&action=review) [details]
> Case showing the problem of type predications propagation after Phi elimination
> 
> This is the case showing the problem of type predications propagation after Phi elimination. Please pay attention to block 3, where node 51 and node 49 are eliminated since those two variables each have only one definition (in block 0). They're not used in block 3 but they should still be alive because they will be used in block 1 (block 3's successor). But after we eliminate 51 and 49 in block 3, the CFA ignores them and the type predictions of the two variables are not propagated to the end of the block, and hence not to the successors.

Aha!  I think that the thing that our dummy Phi insertion was giving us was liveness, and you're saying that we've lost this.

This is dangerous since we need to know liveness to compute DFG OSR entry constraints.

So we have two options:

1) Have a different way of computing liveness.  I'm OK with this if you want to do it, since we'll need it eventually!

2) If we eliminate a Phi from a block, then have the block's references to that Phi (i.e. variablesAtHead/AtTail) refer to its replacement.

I like (2) better for this patch, since it feels like a more minimal change.

What do you think?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list