[PATCH] D28968: LoopUnswitch - Simplify based on known not to a be constant.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 21 11:41:17 PST 2017


efriedma added inline comments.


================
Comment at: lib/Transforms/Scalar/LoopUnswitch.cpp:1395
+    Value *Op1 = CI->getOperand(1);
+    if ((Op0 == Cond && Op1 == Val) || (Op0 == Val && Op1 == Cond)) {
+      LLVMContext &Ctx = Inst->getContext();
----------------
Missing check that Val is a ConstantInt.


================
Comment at: lib/Transforms/Scalar/LoopUnswitch.cpp:1397
+      LLVMContext &Ctx = Inst->getContext();
+      if (CI->getPredicate() == CmpInst::ICMP_EQ)
+        return ConstantInt::getFalse(Ctx);
----------------
Maybe use isTrueWhenEqual here, so you can drop the isEquality check?


https://reviews.llvm.org/D28968





More information about the llvm-commits mailing list