diff options
| author | Tim Northover <tnorthover@apple.com> | 2013-10-24 09:37:18 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2013-10-24 09:37:18 +0000 |
| commit | 741e6ef4d48989262721eb02932fe706930475dd (patch) | |
| tree | ca36fc08ad58177761c38533365b1a8a5bdb6a2b /llvm/lib | |
| parent | 744fcdf5873fe8dbf4fd8872d34c912b2299fc51 (diff) | |
| download | bcm5719-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.cpp | 5 |
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: { |

