[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