RFR: 8343067: C2: revisit constant-offset AddP chains after successful input idealizations [v2]

Vladimir Kozlov kvn at openjdk.org
Tue Nov 5 20:55:28 UTC 2024


On Tue, 5 Nov 2024 19:50:12 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> This changeset re-adds a constant-offset AddP node (`u`) to C2's IGVN worklist when its address is given by another AddP node (`use`) whose offset has changed. This makes it possible for `AddPNode::Ideal` to flatten the address computation in cases where the offset of the latter (`use->in(AddPNode::Offset)`) is found to be constant during IGVN:
>> 
>> ![idealization](https://github.com/user-attachments/assets/6b632642-c037-457f-bd19-6b30f24e6ac6)
>> 
>> The end result is the generation of fewer explicit address computation instructions.
>> 
>> #### Testing
>> 
>> ##### Functionality
>> 
>> - tier1-5 (linux-x64, windows-x64, macosx-x64, linux-aarch64, macosx-aarch64; release and debug mode).
>> 
>> ##### Performance
>> 
>> - Tested performance on a set of standard benchmark suites (DaCapo, SPECjbb2015, SPECjvm2008). No significant change was observed.
>
> Roberto Castañeda Lozano has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Hoist changed offset input check

Good.

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

Marked as reviewed by kvn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/21898#pullrequestreview-2416668042


More information about the hotspot-compiler-dev mailing list