RFR: 8364970: Redo JDK-8327381 by updating the CmpU type instead of the Bool type [v4]
Francisco Ferrari Bihurriet
fferrari at openjdk.org
Thu Aug 14 18:10:29 UTC 2025
> Hi, this pull request is a second take of 1383fec41756322bf2832c55633e46395b937b40, by updating the `CmpUNode` type as either `TypeInt::CC_LE` (case 1a) or `TypeInt::CC_LT` (case 1b) instead of updating the `BoolNode` type as `TypeInt::ONE`.
>
> With this approach a56cd371a2c497e4323756f8b8a08a0bba059bf2 becomes unnecessary. Additionally, having the right type in `CmpUNode` could potentially enable further optimizations.
>
> #### Testing
>
> In order to evaluate the changes, the following testing has been performed:
>
> * `jdk:tier1` (see [GitHub Actions run](https://github.com/franferrax/jdk/actions/runs/16789994433))
> * [`TestBoolNodeGVN.java`](https://github.com/openjdk/jdk/blob/jdk-26+9/test/hotspot/jtreg/compiler/c2/gvn/TestBoolNodeGVN.java), created for [JDK-8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value](https://bugs.openjdk.org/browse/JDK-8327381) (1383fec41756322bf2832c55633e46395b937b40)
> * I also checked it breaks if I remove the `CmpUNode::Value_cmpu_and_mask` call
> * Private reproducer for [JDK-8349584: Improve compiler processing](https://bugs.openjdk.org/browse/JDK-8349584) (a56cd371a2c497e4323756f8b8a08a0bba059bf2)
> * A local slowdebug run of the `test/hotspot/jtreg/compiler/c2` category on _Fedora Linux x86_64_
> * Same results as with `master` (f95af744b07a9ec87e2507b3d584cbcddc827bbd)
Francisco Ferrari Bihurriet has updated the pull request incrementally with one additional commit since the last revision:
Make testCorrectness @Run the C2 compiled versions
Correctness of the tests with the following name format should be
checked in the TestFramework.run() JVM process, with the C2 compiled
version of these methods. TestFramework's warmup ensures this.
testCase(1a|1b)(OptimizeAsTrue|OptimizeAsFalse)For(EQ|NE|LE|GE|LT|GT)(xm|mx)
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26666/files
- new: https://git.openjdk.org/jdk/pull/26666/files/e6b1cb89..e2f8a43c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26666&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26666&range=02-03
Stats: 33 lines in 1 file changed: 16 ins; 17 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/26666.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26666/head:pull/26666
PR: https://git.openjdk.org/jdk/pull/26666
More information about the hotspot-compiler-dev
mailing list