Small cleanups:
authorNick Lewycky <nicholas@mxc.ca>
Wed, 3 Aug 2011 01:11:40 +0000 (01:11 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Wed, 3 Aug 2011 01:11:40 +0000 (01:11 +0000)
  - use SmallVectorImpl& for the function argument.
  - ignore the operands on the GEP, even if they aren't constant! Much as we
    pretend the malloc succeeds, we pretend that malloc + whatever-you-GEP'd-by
    is not null. It's magic!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136757 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstructionCombining.cpp

index 9c939039580a985961207a6954053ff99b7b5eb5..5bc7b0b85391c562b52611e524fff7f37cb67c7a 100644 (file)
@@ -1044,7 +1044,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
 
 
 
-static bool IsOnlyNullComparedAndFreed(Value *V, SmallVector<WeakVH, 64> &Users,
+static bool IsOnlyNullComparedAndFreed(Value *V, SmallVectorImpl<WeakVH> &Users,
                                        int Depth = 0) {
   if (Depth == 8)
     return false;
@@ -1069,8 +1069,7 @@ static bool IsOnlyNullComparedAndFreed(Value *V, SmallVector<WeakVH, 64> &Users,
       }
     }
     if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) {
-      if (GEPI->hasAllZeroIndices() &&
-          IsOnlyNullComparedAndFreed(GEPI, Users, Depth+1)) {
+      if (IsOnlyNullComparedAndFreed(GEPI, Users, Depth+1)) {
         Users.push_back(GEPI);
         continue;
       }