RFR(XS): 8215044: C2 crash in loopTransform.cpp with assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop

Tobias Hartmann tobias.hartmann at oracle.com
Mon Dec 17 12:22:55 UTC 2018


Hi Roland,

this looks good to me.

Little typo in the test summary: "unrolled loo".

Best regards,
Tobias

On 17.12.18 10:39, Roland Westrelin wrote:
> 
> http://cr.openjdk.java.net/~roland/8215044/webrev.00/
> 
> The trip count of the inner loop is first computed to be 4. The
> pre/main/post loops are then created and the main loop trip count is
> adjusted to be 3. The inner loop is unrolled once, trip count is set to
> 1 (3/2). Then peeling is attempted twice, the second one sees a zero
> trip count.
> 
> The fix I propose is to not attempt peeling on a loop with an expected
> trip count of 1.
> 
> Roland.
> 


More information about the hotspot-compiler-dev mailing list