[FuzzMutate] Pick correct index for the insertvalue instruction
Differential Revision: https://reviews.llvm.org/D40395
llvm-svn: 319440
diff --git a/llvm/lib/FuzzMutate/Operations.cpp b/llvm/lib/FuzzMutate/Operations.cpp
index 083d9aa..8bc902e 100644
--- a/llvm/lib/FuzzMutate/Operations.cpp
+++ b/llvm/lib/FuzzMutate/Operations.cpp
@@ -240,9 +240,9 @@
auto Pred = [](ArrayRef<Value *> Cur, const Value *V) {
auto *CTy = cast<CompositeType>(Cur[0]->getType());
if (auto *CI = dyn_cast<ConstantInt>(V))
- if (CI->getBitWidth() == 32)
- if (CTy->getTypeAtIndex(CI->getZExtValue()) == V->getType())
- return true;
+ if (CI->getBitWidth() == 32 &&
+ CTy->getTypeAtIndex(CI->getZExtValue()) == Cur[1]->getType())
+ return true;
return false;
};
auto Make = [](ArrayRef<Value *> Cur, ArrayRef<Type *> Ts) {