summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2013-10-24 09:37:18 +0000
committerTim Northover <tnorthover@apple.com>2013-10-24 09:37:18 +0000
commit741e6ef4d48989262721eb02932fe706930475dd (patch)
treeca36fc08ad58177761c38533365b1a8a5bdb6a2b /llvm/lib
parent744fcdf5873fe8dbf4fd8872d34c912b2299fc51 (diff)
downloadbcm5719-llvm-741e6ef4d48989262721eb02932fe706930475dd.tar.gz
bcm5719-llvm-741e6ef4d48989262721eb02932fe706930475dd.zip
ARM: fix assert on unpredictable POP instruction.
POP instructions are aliased to the ARM LDM variants but have different syntax. This caused two problems: we tried to access a non-existent operand to annotate the '!', and the error message didn't make much sense. With some vigorous hand-waving in the error message both problems can be fixed. llvm-svn: 193322
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index 534771b0a21..97b9db92363 100644
--- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -5466,9 +5466,8 @@ validateInstruction(MCInst &Inst,
case ARM::t2STMIA_UPD:
case ARM::t2STMDB_UPD: {
if (listContainsReg(Inst, 3, Inst.getOperand(0).getReg()))
- return Error(Operands[4]->getStartLoc(),
- "writeback operator '!' not allowed when base register "
- "in register list");
+ return Error(Operands.back()->getStartLoc(),
+ "writeback register not allowed in register list");
break;
}
case ARM::tMUL: {
OpenPOWER on IntegriCloud