RFR: 8349361: C2: RShiftL should support all applicable transformations that RShiftI does [v14]

Roland Westrelin roland at openjdk.org
Thu Mar 13 16:37:01 UTC 2025


> This change refactors `RShiftI`/`RshiftL` `Ideal`, `Identity` and
> `Value` because the `int` and `long` versions are very similar and so
> there's no logic duplication. In the process, support for some extra
> transformations is added to `RShiftL`. I also added some new test
> cases.

Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 30 additional commits since the last revision:

 - test with Long.Min/Long.Max + CONST64
 - Merge branch 'master' into JDK-8349361
 - review
 - Update src/hotspot/share/opto/mulnode.cpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/hotspot/share/opto/mulnode.hpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/hotspot/share/opto/mulnode.cpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/hotspot/share/opto/mulnode.cpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/hotspot/share/opto/mulnode.cpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update test/hotspot/jtreg/compiler/c2/irTests/RShiftLNodeIdealizationTests.java
   
   Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>
 - Update src/hotspot/share/opto/mulnode.cpp
   
   Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>
 - ... and 20 more: https://git.openjdk.org/jdk/compare/641bc5e4...a56e397b

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23438/files
  - new: https://git.openjdk.org/jdk/pull/23438/files/1911ca6c..a56e397b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23438&range=13
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23438&range=12-13

  Stats: 41691 lines in 579 files changed: 20383 ins; 13825 del; 7483 mod
  Patch: https://git.openjdk.org/jdk/pull/23438.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23438/head:pull/23438

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


More information about the hotspot-compiler-dev mailing list