RFR: 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations [v3]
    Emanuel Peter 
    epeter at openjdk.org
       
    Wed Oct 29 09:22:41 UTC 2025
    
    
  
On Wed, 15 Oct 2025 16:15:05 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> 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 two additional commits since the last revision:
> 
>  - remove std::hash
>  - remove unordered_map, add some comments for all_instances_size
@merykitty Thanks for working on this! Especially I'm happy with the extra gtest-ing that we are now able to do on the types. This optimization will be the entry point for many KnownBits optimizations, that is exciting!
This still needs a second thorough review though, since it is not trivial ;)
-------------
Marked as reviewed by epeter (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/27618#pullrequestreview-3392347802
    
    
More information about the hotspot-compiler-dev
mailing list