summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
diff options
context:
space:
mode:
authorDominic Chen <d.c.ddcc@gmail.com>2016-08-17 23:42:27 +0000
committerDominic Chen <d.c.ddcc@gmail.com>2016-08-17 23:42:27 +0000
commita8a638292ced193f5e00dd1e087b46790cf540cb (patch)
tree25956cc962bdbe63f26a3ec8f6e3713ba99bbc0f /llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
parent334ac36e667273c641eaf22e39511eddd6432752 (diff)
downloadbcm5719-llvm-a8a638292ced193f5e00dd1e087b46790cf540cb.tar.gz
bcm5719-llvm-a8a638292ced193f5e00dd1e087b46790cf540cb.zip
[WebAssembly] Handle debug information and virtual registers without crashing (reland r278967)
Summary: Currently, enabling debug information when compiling for WebAssembly crashes the backend. This commit fixes these by skipping debug values in backend passes. Reviewers: jfb, aprantl, dschuff, echristo Subscribers: llvm-commits, dschuff, jfb, MatzeB, dexonsmith, yurydelendik, mehdi_amini Differential Revision: https://reviews.llvm.org/D23635 llvm-svn: 279011
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
index 11bda47eac5..1a83793b0d0 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
@@ -88,6 +88,8 @@ bool WebAssemblyReplacePhysRegs::runOnMachineFunction(MachineFunction &MF) {
if (VReg == WebAssembly::NoRegister)
VReg = MRI.createVirtualRegister(RC);
MO.setReg(VReg);
+ if (MO.getParent()->isDebugValue())
+ MO.setIsDebug();
Changed = true;
}
}
OpenPOWER on IntegriCloud