summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorYury Delendik <ydelendik@mozilla.com>2018-09-26 23:49:21 +0000
committerYury Delendik <ydelendik@mozilla.com>2018-09-26 23:49:21 +0000
commitb3857e4d35fe4435da943fc0e7056855babcf5d6 (patch)
tree255258c24b1351fc024b21ec93c93997e1f1d11c /llvm/lib
parentf42aa29b68ae1bdf22549efde2844a070e82b4ec (diff)
downloadbcm5719-llvm-b3857e4d35fe4435da943fc0e7056855babcf5d6.tar.gz
bcm5719-llvm-b3857e4d35fe4435da943fc0e7056855babcf5d6.zip
[WebAssembly] Fix MRI.hasOneNonDBGUse assert in WebAssemblyRegStackify pass
Summary: The OneUseDominatesOtherUses in the WebAssemblyRegStackify not properly validates register use using hasOneUse. Since we added/modified DBG_VALUE the assert started catching valid cases. See also https://reviews.llvm.org/D49034#1247200 Fix verified by running the wasm waterfall. Reviewed By: dschuff Tags: #debug-info Differential Revision: https://reviews.llvm.org/D49034 llvm-svn: 343154
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
index 5b6a91dbc9d..4649230d454 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
@@ -428,8 +428,8 @@ static bool OneUseDominatesOtherUses(unsigned Reg, const MachineOperand &OneUse,
if (!TargetRegisterInfo::isVirtualRegister(DefReg) ||
!MFI.isVRegStackified(DefReg))
return false;
- assert(MRI.hasOneUse(DefReg));
- const MachineOperand &NewUse = *MRI.use_begin(DefReg);
+ assert(MRI.hasOneNonDBGUse(DefReg));
+ const MachineOperand &NewUse = *MRI.use_nodbg_begin(DefReg);
const MachineInstr *NewUseInst = NewUse.getParent();
if (NewUseInst == OneUseInst) {
if (&OneUse > &NewUse)
OpenPOWER on IntegriCloud