RFR: 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations [v4]

Quan Anh Mai qamai at openjdk.org
Thu Oct 30 00:24:26 UTC 2025


> Hi,
> 
> This PR improves the implementation of `AndNode/OrNode/XorNode::Value` by taking advantages of the additional information in `TypeInt`. The implementation is pretty straightforward. A clever trick is that by analyzing the negative and positive ranges of a `TypeInt` separately, we have better info for the leading bits. I also implement gtest unit tests to verify the correctness and monotonicity of the inference functions.
> 
> Please take a look and leave your reviews, thanks a lot.

Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:

  Add assertion for the helper in CTPComparator
  
  Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27618/files
  - new: https://git.openjdk.org/jdk/pull/27618/files/513e3e9e..bd617d7b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27618&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27618&range=02-03

  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/27618.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27618/head:pull/27618

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


More information about the hotspot-compiler-dev mailing list