Signed shr by a constant is not the same as sdiv by 2^k
authorChris Lattner <sabre@nondot.org>
Tue, 4 Apr 2006 06:11:42 +0000 (06:11 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 4 Apr 2006 06:11:42 +0000 (06:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27395 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ScalarEvolution.cpp

index f8b4ab9be133d4bf457c79644fe5b2f92f54b201..f0848569ddbe36c30762c8b8381eb6b7160dfe8e 100644 (file)
@@ -1374,15 +1374,6 @@ SCEVHandle ScalarEvolutionsImpl::createSCEV(Value *V) {
       }
       break;
 
-    case Instruction::Shr:
-      if (ConstantUInt *SA = dyn_cast<ConstantUInt>(I->getOperand(1)))
-        if (V->getType()->isSigned()) {
-          Constant *X = ConstantInt::get(V->getType(), 1);
-          X = ConstantExpr::getShl(X, SA);
-          return SCEVSDivExpr::get(getSCEV(I->getOperand(0)), getSCEV(X));
-        }
-      break;
-
     case Instruction::Cast:
       return createNodeForCast(cast<CastInst>(I));