[llvm-commits] [llvm] r138492 - /llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

Owen Anderson resistor at mac.com
Wed Aug 24 14:35:46 PDT 2011


Author: resistor
Date: Wed Aug 24 16:35:46 2011
New Revision: 138492

URL: http://llvm.org/viewvc/llvm-project?rev=138492&view=rev
Log:
Be careful not to walk off the end of the operand info list while updating VFP predicates.

Modified:
    llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

Modified: llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp?rev=138492&r1=138491&r2=138492&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp Wed Aug 24 16:35:46 2011
@@ -417,7 +417,8 @@
 
   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;





More information about the llvm-commits mailing list