RFR(S): 8199784: PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Mar 20 23:36:27 UTC 2018

I agree with changes. But can you explain why you need additional check useblock == u_loop->_head? 
Since x (clone) comes from outside loop it should be safe place it outside OuterStripMinedLoop.


On 3/20/18 2:25 AM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8199784/webrev.00/
> When a Load is sunk out of a loop, if one of the uses is a Phi of a
> strip mined CountedLoop, PhaseIdealLoop::place_near_use() should return
> the entry control of the OuterStripMinedLoop.
> I couldn't write a test case that would trigger this and I'm not even
> sure it's even possible. We're seeing this with some graph patterns that
> are specific to Shenandoah but I think it's better to have this fixed
> anyway.
> Roland.

More information about the hotspot-compiler-dev mailing list