diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp index b3da7861f29..1e9a773ae62 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp @@ -115,9 +115,11 @@ static bool ReplaceDominatedUses(MachineBasicBlock &MBB, MachineInstr &MI, O.setReg(ToReg); // If the store's def was previously dead, it is no longer. - MI.getOperand(0).setIsDead(false); + if (!O.isUndef()) { + MI.getOperand(0).setIsDead(false); - Indices.push_back(WhereIdx.getRegSlot()); + Indices.push_back(WhereIdx.getRegSlot()); + } } if (Changed) { |