[PATCH] D56355: [InstCombine] Simplify cttz/ctlz + icmp ugt/ult into mask check

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 16 14:00:41 PST 2019


RKSimon added a reviewer: RKSimon.
RKSimon added inline comments.


================
Comment at: lib/Transforms/InstCombine/InstCombineCompares.cpp:2617
+      return I;
+  }
 
----------------
(style) Remove unnecessary braces


================
Comment at: lib/Transforms/InstCombine/InstCombineCompares.cpp:2836
+    unsigned Num = C.getLimitedValue();
+    if (Cmp.getPredicate() == ICmpInst::ICMP_UGT && Num < BitWidth) {
+      APInt Limit = APInt::getOneBitSet(BitWidth, BitWidth - Num - 1);
----------------
In case of "silly" numbers from fuzzers etc. better to use C.ult(BitWidth) etc.and move C.getLimitedValue() calls inside the ifs.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56355/new/

https://reviews.llvm.org/D56355





More information about the llvm-commits mailing list