[llvm] r250251 - [SCEV] Use `SCEV::isAllOnesValue` directly; NFC.

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 13 16:28:32 PDT 2015


Author: sanjoy
Date: Tue Oct 13 18:28:31 2015
New Revision: 250251

URL: http://llvm.org/viewvc/llvm-project?rev=250251&view=rev
Log:
[SCEV] Use `SCEV::isAllOnesValue` directly; NFC.

Instead of `dyn_cast` ing to `SCEVConstant` and checking the contained
`ConstantInteger.

Modified:
    llvm/trunk/lib/Analysis/ScalarEvolution.cpp

Modified: llvm/trunk/lib/Analysis/ScalarEvolution.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ScalarEvolution.cpp?rev=250251&r1=250250&r2=250251&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ScalarEvolution.cpp (original)
+++ llvm/trunk/lib/Analysis/ScalarEvolution.cpp Tue Oct 13 18:28:31 2015
@@ -7677,17 +7677,13 @@ bool ScalarEvolution::isImpliedCondOpera
 /// If Expr computes ~A, return A else return nullptr
 static const SCEV *MatchNotExpr(const SCEV *Expr) {
   const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(Expr);
-  if (!Add || Add->getNumOperands() != 2) return nullptr;
-
-  const SCEVConstant *AddLHS = dyn_cast<SCEVConstant>(Add->getOperand(0));
-  if (!(AddLHS && AddLHS->getValue()->getValue().isAllOnesValue()))
+  if (!Add || Add->getNumOperands() != 2 ||
+      !Add->getOperand(0)->isAllOnesValue())
     return nullptr;
 
   const SCEVMulExpr *AddRHS = dyn_cast<SCEVMulExpr>(Add->getOperand(1));
-  if (!AddRHS || AddRHS->getNumOperands() != 2) return nullptr;
-
-  const SCEVConstant *MulLHS = dyn_cast<SCEVConstant>(AddRHS->getOperand(0));
-  if (!(MulLHS && MulLHS->getValue()->getValue().isAllOnesValue()))
+  if (!AddRHS || AddRHS->getNumOperands() != 2 ||
+      !AddRHS->getOperand(0)->isAllOnesValue())
     return nullptr;
 
   return AddRHS->getOperand(1);




More information about the llvm-commits mailing list