Fix a problem with negative indexes
authorChris Lattner <sabre@nondot.org>
Sun, 2 Mar 2003 23:43:34 +0000 (23:43 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 2 Mar 2003 23:43:34 +0000 (23:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5681 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/BasicAliasAnalysis.cpp

index 2242d4f5b39dc9f35e42f70fe57fc102c366444f..d9456f56e5e0fd04ca45824d252fd7eea2a1e7eb 100644 (file)
@@ -301,11 +301,11 @@ BasicAliasAnalysis::CheckGEPInstructions(GetElementPtrInst *GEP1, unsigned G1S,
     }
   }
   
-  unsigned Offset1 = getTargetData().getIndexedOffset(GEPPointerTy, Indices1);
-  unsigned Offset2 = getTargetData().getIndexedOffset(GEPPointerTy, Indices2);
+  int Offset1 = getTargetData().getIndexedOffset(GEPPointerTy, Indices1);
+  int Offset2 = getTargetData().getIndexedOffset(GEPPointerTy, Indices2);
   assert(Offset1 < Offset2 &&"There is at least one different constant here!");
 
-  if (Offset2-Offset1 >= SizeMax) {
+  if ((unsigned)(Offset2-Offset1) >= SizeMax) {
     //std::cerr << "Determined that these two GEP's don't alias [" 
     //          << SizeMax << " bytes]: \n" << *GEP1 << *GEP2;
     return NoAlias;