RFR: 8364757: Missing Store nodes caused by bad wiring in PhaseIdealLoop::insert_post_loop [v11]

Roland Westrelin roland at openjdk.org
Wed Oct 1 09:07:41 UTC 2025


On Wed, 1 Oct 2025 09:02:40 GMT, Benoît Maillard <bmaillard at openjdk.org> wrote:

>> src/hotspot/share/opto/loopTransform.cpp line 1800:
>> 
>>> 1798:       // body was cloned as a unit
>>> 1799:       IdealLoopTree* input_loop = get_loop(get_ctrl(store->in(MemNode::Memory)));
>>> 1800:       if (!outer_loop->is_member(input_loop)) {
>> 
>> Same here. Actually, I wonder if a new method that also does the `get_ctrl()` (or `ctrl_or_self()`), wouldn't be useful given that pattern must be quite common.
>
> Makes sense. It seems there are a lot of occurrences indeed, maybe I should address this in a separate RFE. Btw, it seems we could also change the return type of `PhaseIdealLoop::is_member` from `int` to `bool`, to stay consistent with `IdealLoopTree::is_member`.

Indeed, no reason for a return type of `int`. Sure, a separate RFE works.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27225#discussion_r2393920482


More information about the hotspot-compiler-dev mailing list