================
@@ -1538,10 +1625,17 @@ ConstantRange ConstantRange::binaryOr(const 
ConstantRange &Other) const {
 
   ConstantRange KnownBitsRange =
       fromKnownBits(toKnownBits() | Other.toKnownBits(), false);
+
+  //      ~a & ~b    >= x
+  // <=>  ~(~a & ~b) <= ~x
+  // <=>  a | b      <= ~x
+  // <=>  a | b      <  ~x + 1
+  // thus, UpperBound(a | b) == ~LowerBound(~a & ~b) + 1
+  auto UpperBound =
----------------
zsrkmyn wrote:

Fixed! Thx!

https://github.com/llvm/llvm-project/pull/120352
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to