[llvm] [SelectionDAG] Add more cases for UDIV and SDIV (PR #86452)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 25 03:56:12 PDT 2024
================
@@ -979,7 +979,9 @@ KnownBits KnownBits::udiv(const KnownBits &LHS, const KnownBits &RHS,
assert(!LHS.hasConflict() && !RHS.hasConflict());
KnownBits Known(BitWidth);
- if (LHS.isZero() || RHS.isZero()) {
+ // if LHS < RHS, then LHS / RHS is 0.
+ std::optional<bool> ult = KnownBits::ult(LHS, RHS);
+ if (LHS.isZero() || RHS.isZero() || (ult && *ult)) {
----------------
jayfoad wrote:
Please split this into a separate patch with unit test coverage.
https://github.com/llvm/llvm-project/pull/86452
More information about the llvm-commits
mailing list