JDK-8199784 : PhaseIdealLoop::place_near_use() might return wrong control with loop strip mining
Type:Bug
Component:hotspot
Sub-Component:compiler
Affected Version:10,11
Priority:P3
Status:Resolved
Resolution:Fixed
Submitted:2018-03-19
Updated:2018-04-04
Resolved:2018-03-22
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
When a Load is sunk out of a loop, if one of the uses is a Phi of strip mined loop header, PhaseIdealLoop::place_near_use() should return the entry control of the OuterStripMinedLoop.
Comments
Testing passed.
22-03-2018
Thanks! Yes, I agree with that ILW.
20-03-2018
With a debug build, verification code triggers and the compiler asserts. Not sure what happens with a product build, either a crash in the compiler or incorrect code is generated I suppose.
ILW=crash,can't trigger with current code AFAICT, disable loop strip mining or compilation of affected method = HLM = P3?
20-03-2018
Roland, could you please add more information about the impact of this issue? I would assume the compiler crashes/asserts due to an invalid control:
ILW = Crash during compilation, rare, disable loop strip mining or compilation of affected method = HLM = P3
EDIT: adjusting this according to
http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2018-March/028490.html