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

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Tue Nov 5 19:50:12 UTC 2024


> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21898/files
  - new: https://git.openjdk.org/jdk/pull/21898/files/6dcbb0c6..deb7c4e1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21898&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21898&range=00-01

  Stats: 3 lines in 1 file changed: 1 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/21898.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21898/head:pull/21898

PR: https://git.openjdk.org/jdk/pull/21898


More information about the hotspot-compiler-dev mailing list