- 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
-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;
}
}
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;
}