GEP operands can't be bools
authorChris Lattner <sabre@nondot.org>
Fri, 12 Jan 2007 18:20:48 +0000 (18:20 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 12 Jan 2007 18:20:48 +0000 (18:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33125 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/BasicAliasAnalysis.cpp

index d49898a401cc33bd28a923d5fce35dab6546349b..3f6b722163a0e7d77fd88bc4da85b19071a4a151 100644 (file)
@@ -434,8 +434,7 @@ BasicAliasAnalysis::alias(const Value *V1, unsigned V1Size,
           if (cast<PointerType>(
                 BasePtr->getType())->getElementType()->isSized()) {
             for (unsigned i = 0; i != GEPOperands.size(); ++i)
-              if (!isa<ConstantInt>(GEPOperands[i]) || 
-                  GEPOperands[i]->getType() == Type::Int1Ty)
+              if (!isa<ConstantInt>(GEPOperands[i]))
                 GEPOperands[i] =
                   Constant::getNullValue(GEPOperands[i]->getType());
             int64_t Offset =
@@ -610,14 +609,12 @@ BasicAliasAnalysis::CheckGEPInstructions(
     if (GEP1Ops.size() > MinOperands) {
       for (unsigned i = FirstConstantOper; i != MaxOperands; ++i)
         if (isa<ConstantInt>(GEP1Ops[i]) && 
-            GEP1Ops[i]->getType() != Type::Int1Ty &&
             !cast<Constant>(GEP1Ops[i])->isNullValue()) {
           // Yup, there's a constant in the tail.  Set all variables to
           // constants in the GEP instruction to make it suiteable for
           // TargetData::getIndexedOffset.
           for (i = 0; i != MaxOperands; ++i)
-            if (!isa<ConstantInt>(GEP1Ops[i]) ||
-                GEP1Ops[i]->getType() == Type::Int1Ty)
+            if (!isa<ConstantInt>(GEP1Ops[i]))
               GEP1Ops[i] = Constant::getNullValue(GEP1Ops[i]->getType());
           // Okay, now get the offset.  This is the relative offset for the full
           // instruction.
@@ -670,7 +667,7 @@ BasicAliasAnalysis::CheckGEPInstructions(
     const Value *Op2 = i < GEP2Ops.size() ? GEP2Ops[i] : 0;
     // If they are equal, use a zero index...
     if (Op1 == Op2 && BasePtr1Ty == BasePtr2Ty) {
-      if (!isa<ConstantInt>(Op1) || Op1->getType() == Type::Int1Ty)
+      if (!isa<ConstantInt>(Op1))
         GEP1Ops[i] = GEP2Ops[i] = Constant::getNullValue(Op1->getType());
       // Otherwise, just keep the constants we have.
     } else {