-
Enhancement
-
Resolution: Unresolved
-
P4
-
26
After JDK-8315066, we should apply especially the KnownBits to And / Or nodes.
Feel free to file more RFE's for the other ideas, if you only want to do KnownBits for And / Or.
This would help us generate more KnownBit patterns in the first place, and then it also helps us verify KnownBit types by extracting bits.
Without, it is a bit hard to generate good tests for optimizations that already use KnownBits.
A somewhat related concern: we should have a good way to restrict values on the unsigned range. Maybe some unsigned min/max node, or at least cast after unsigned comparison? Maybe that already works, would just be nice to know so we can use it in verification. Also related toJDK-8359412.
It would have been really helpful to already have inJDK-8365205, and will be helpful in any further KnownBits optimizations.
Feel free to file more RFE's for the other ideas, if you only want to do KnownBits for And / Or.
This would help us generate more KnownBit patterns in the first place, and then it also helps us verify KnownBit types by extracting bits.
Without, it is a bit hard to generate good tests for optimizations that already use KnownBits.
A somewhat related concern: we should have a good way to restrict values on the unsigned range. Maybe some unsigned min/max node, or at least cast after unsigned comparison? Maybe that already works, would just be nice to know so we can use it in verification. Also related to
It would have been really helpful to already have in
- relates to
-
JDK-8359412 Template-Framework Library: Operations and Expressions
-
- Resolved
-
-
JDK-8278857 C2: optimize (x << 2) & -4 to x (and similar patterns) -> KnownBits for LShift
-
- Open
-
-
JDK-8315066 Add unsigned bounds and known bits to TypeInt/Long
-
- Resolved
-
- links to
-
Review(master)
openjdk/jdk/27618