[SCEV][NFC] Simplify check with CI->isZero() exit condition
authorMax Kazantsev <mkazantsev@azul.com>
Thu, 14 Oct 2021 07:06:52 +0000 (14:06 +0700)
committerMax Kazantsev <mkazantsev@azul.com>
Thu, 14 Oct 2021 07:06:52 +0000 (14:06 +0700)
Replace check with
    if ((ExitIfTrue && CI->isZero()) || (!ExitIfTrue && CI->isOne()))
with equivalent and simpler version
    if (ExitIfTrue == CI->isZero())

llvm/lib/Analysis/ScalarEvolution.cpp

index 71b67dc..ec55c92 100644 (file)
@@ -7829,7 +7829,7 @@ ScalarEvolution::computeBackedgeTakenCount(const Loop *L,
     if (auto *BI = dyn_cast<BranchInst>(ExitBB->getTerminator()))
       if (auto *CI = dyn_cast<ConstantInt>(BI->getCondition())) {
         bool ExitIfTrue = !L->contains(BI->getSuccessor(0));
-        if ((ExitIfTrue && CI->isZero()) || (!ExitIfTrue && CI->isOne()))
+        if (ExitIfTrue == CI->isZero())
           continue;
       }