diff options
author | Owen Anderson <resistor@mac.com> | 2011-08-24 21:35:46 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2011-08-24 21:35:46 +0000 |
commit | 216cfaa808dd3b24dce2d0d1d8ea2ab697f71bba (patch) | |
tree | 470ed5791e7453d26417c7d275927914beb0de5a /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 1257f97003a394abace18d1028bae747f8efe06a (diff) | |
download | bcm5719-llvm-216cfaa808dd3b24dce2d0d1d8ea2ab697f71bba.tar.gz bcm5719-llvm-216cfaa808dd3b24dce2d0d1d8ea2ab697f71bba.zip |
Be careful not to walk off the end of the operand info list while updating VFP predicates.
llvm-svn: 138492
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index 1ce330a4e36..e22126956e7 100644 --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -417,7 +417,8 @@ void ThumbDisassembler::UpdateThumbVFPPredicate(MCInst &MI) const { const MCOperandInfo *OpInfo = ARMInsts[MI.getOpcode()].OpInfo; MCInst::iterator I = MI.begin(); - for (unsigned i = 0, e = MI.size(); i < e; ++i, ++I) { + unsigned short NumOps = ARMInsts[MI.getOpcode()].NumOperands; + for (unsigned i = 0; i < NumOps; ++i, ++I) { if (OpInfo[i].isPredicate() ) { I->setImm(CC); ++I; |