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.

Thanks,
Vladimir

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