RFR(S): 8202950: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu May 17 19:36:22 UTC 2018


Why In first place an outside Load node has control to inner mined loop?
Was control set incorrect early?

Thanks
Vladimir 

> On May 17, 2018, at 1:40 AM, Roland Westrelin <rwestrel at redhat.com> wrote:
> 
> 
> http://cr.openjdk.java.net/~roland/8202950/webrev.00/
> 
> A Load outside the outer and inner strip mined loop has a control edge
> to the inner loop. When the loop is unrolled, the control is changed to
> be right out of the inner loop. That confuses verification code that
> expects no node to have a control set to the inner loop exit unless it's
> referenced from the safepoint node. Rather than weaken the verification
> code, the fix I suggest is that on loop cloning for unrolling, the
> control of the Load be set to be outside the outer loop as well.
> 
> Roland.


More information about the hotspot-compiler-dev mailing list