Index: src/IceTargetLowering.h |
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h |
index 82ee5c7b2faa164189756b8ea3ec2a656823bd37..b8bfff0806e7668a3bdfc319da7c88cf896e72a0 100644 |
--- a/src/IceTargetLowering.h |
+++ b/src/IceTargetLowering.h |
@@ -511,8 +511,11 @@ protected: |
Variable *T = Func->makeVariable(DestTy); |
if (auto *VarVecOn32 = llvm::dyn_cast<VariableVecOn32>(T)) { |
VarVecOn32->initVecElement(Func); |
+ auto *Undef = ConstantUndef::create(Ctx, DestTy); |
+ Context.insert<InstAssign>(T, Undef); |
+ } else { |
+ Context.insert<InstFakeDef>(T); |
} |
- Context.insert<InstFakeDef>(T); |
for (SizeT I = 0; I < NumElements; ++I) { |
auto *Index = Ctx->getConstantInt32(I); |