RFR(S): 8220374: C2: LoopStripMining doesn't strip as expected
Roland Westrelin
rwestrel at redhat.com
Wed Mar 13 09:04:32 UTC 2019
http://cr.openjdk.java.net/~roland/8220374/webrev.00/
Fix for 8193597 accidentally broke loop strip mining: that change caused
the inner and outer loop to have the same exit condition. So loop strip
mining has been effectively disabled for more than a year (a month after
it was pushed !?).
The fix above correctly sets the inner and outer loop exit
condition. Initially, when the loop is strip mined, the inner loop exit
condition is left as is and the outer loop exit condition is set to
always exit. After optimizations, the outer loop exit condition must be
set to be the same as the inner loop exit condition and then, the inner
loop exit condition must be adjusted so the inner loop runs for no more
than LoopStripMiningIter iterations.
Thanks to Martin Doerr for the test case and the bug report.
Roland.
More information about the hotspot-compiler-dev
mailing list