summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-12-07 22:00:53 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-12-07 22:00:53 +0000
commitb754f7a2e0dfce5e85ceff7809c588a2c3dd3a9e (patch)
treea00dc37002a16deb5ea849d286c70b78c8c3a5e7 /llvm
parent592898b30610b238418f2a8d6002dc09e8c1dcb7 (diff)
downloadbcm5719-llvm-b754f7a2e0dfce5e85ceff7809c588a2c3dd3a9e.tar.gz
bcm5719-llvm-b754f7a2e0dfce5e85ceff7809c588a2c3dd3a9e.zip
[Hexagon] Fix post-ra expansion of PS_wselect
llvm-svn: 348655
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp1
-rw-r--r--llvm/test/CodeGen/Hexagon/expand-wselect.mir13
2 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
index a0af11622a4..de0d6c4d9e4 100644
--- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
@@ -1293,7 +1293,6 @@ bool HexagonInstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
auto T = BuildMI(MBB, MI, DL, get(Hexagon::V6_vccombine))
.add(Op0)
.addReg(PReg, S)
- .add(Op1)
.addReg(SrcHi)
.addReg(SrcLo);
if (IsDestLive)
diff --git a/llvm/test/CodeGen/Hexagon/expand-wselect.mir b/llvm/test/CodeGen/Hexagon/expand-wselect.mir
new file mode 100644
index 00000000000..cb3dbc25aa5
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/expand-wselect.mir
@@ -0,0 +1,13 @@
+# RUN: llc -march=hexagon -run-pass postrapseudos %s -o - | FileCheck %s
+
+# Check that this doesn't crash.
+# CHECK: $w2 = V6_vccombine $p0, $v1, $v0
+# CHECK: $w2 = V6_vnccombine killed $p0, $v3, $v2, implicit $w2
+
+name: fred
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: $p0, $w0, $w1
+ $w2 = PS_wselect killed $p0, killed $w0, killed $w1
+---
OpenPOWER on IntegriCloud