[llvm] [SelectionDAG]: Add more cases for UDIV, SDIV, SRA, and SRL (PR #89522)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 10 01:37:59 PDT 2024


================
@@ -1022,6 +1025,9 @@ KnownBits KnownBits::udiv(const KnownBits &LHS, const KnownBits &RHS,
 
   Known.Zero.setHighBits(LeadZ);
   Known = divComputeLowBit(Known, LHS, RHS, Exact);
+  std::optional<bool> uge = KnownBits::uge(LHS, RHS);
+  if (uge && *uge)
+    Known.makeGE(APInt(BitWidth, 1));
----------------
jayfoad wrote:

Split KnownBits changes into a separate patch, with a unit test that fails without this extra code.

https://github.com/llvm/llvm-project/pull/89522


More information about the llvm-commits mailing list