RFR: 8369002: Extract the loop->is_member(get_loop(get_ctrl(node))) pattern in a new function [v2]

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Wed Nov 12 17:06:25 UTC 2025


On Wed, 12 Nov 2025 16:25:29 GMT, Anton Seoane Ampudia <aseoane at openjdk.org> wrote:

>> This PR adds a "shorthand" for the common `loop->is_member(get_loop(get_ctrl(node)))` pattern in loop optimizations.
>> 
>> In PhaseIdealLoop, there is already an `is_member` function that checks if a node is a (nested) member of an IdealLoopTree. In a similar fashion, this changeset adds a `ctrl_is_member` that aims to simplify the common pattern of:
>> 
>> Node* node_ctrl = get_ctrl(node);
>> if (loop->is_member(get_loop(node))) { ... }
>> 
>> 
>> This hopes to provide a bit more readability and code conciseness in such a common operation.
>> 
>> **Testing:** passes tiers 1-3
>
> Anton Seoane Ampudia has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review comments: update types

Marked as reviewed by rcastanedalo (Reviewer).

src/hotspot/share/opto/loopnode.hpp line 1379:

> 1377: 
> 1378:   // Return a post-walked LoopNode
> 1379:   IdealLoopTree *get_loop(const Node* n) const {

Nit suggestion (where is my "Add suggestion" button?): `IdealLoopTree *get_loop` -> `IdealLoopTree* get_loop`.

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

PR Review: https://git.openjdk.org/jdk/pull/28259#pullrequestreview-3454530407
PR Review Comment: https://git.openjdk.org/jdk/pull/28259#discussion_r2519114244


More information about the hotspot-compiler-dev mailing list