RFR(S): 8199784: PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining
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:
> 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
More information about the hotspot-compiler-dev