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