RFR: 8351833: Unexpected increase in live nodes when splitting Phis through MergeMems in PhiNode::Ideal [v3]
Daniel Lundén
dlunden at openjdk.org
Thu Apr 10 18:03:45 UTC 2025
On Thu, 10 Apr 2025 16:55:24 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> What happens in your case? Did this happens in loop? Is it also infinite generation or just excessive number of nodes and it passed after this fix?
It terminates, but generates an excessive number of nodes (but only locally, within IGVN runs). I added a check to ensure termination as part of https://github.com/openjdk/jdk/pull/23691, where we enabled the idealization in question in many more cases compared to before (needed for correctness).
The problem in this issue is that we now add way too many nodes during a single IGVN iteration, and therefore fail to trigger the node check bailout in `PhaseIterIGVN::optimize`. Instead, we trigger an assert during node creation when we surpass `MaxNodeLimit` nodes. After this fix, we cleanly bail out instead of hitting the assert.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24325#issuecomment-2794713625
More information about the hotspot-compiler-dev
mailing list