[llvm-commits] [llvm] r161301 - /llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp

Anton Korobeynikov asl at math.spbu.ru
Sat Aug 4 06:25:58 PDT 2012


Author: asl
Date: Sat Aug  4 08:25:58 2012
New Revision: 161301

URL: http://llvm.org/viewvc/llvm-project?rev=161301&view=rev
Log:
Skip impdef regs during eabi save/restore list emission to workaround PR11902

Modified:
    llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=161301&r1=161300&r2=161301&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Sat Aug  4 08:25:58 2012
@@ -1136,8 +1136,14 @@
       assert(SrcReg == ARM::SP &&
              "Only stack pointer as a source reg is supported");
       for (unsigned i = StartOp, NumOps = MI->getNumOperands() - NumOffset;
-           i != NumOps; ++i)
-        RegList.push_back(MI->getOperand(i).getReg());
+           i != NumOps; ++i) {
+        const MachineOperand &MO = MI->getOperand(i);
+        // Actually, there should never be any impdef stuff here. Skip it
+        // temporary to workaround PR11902.
+        if (MO.isImplicit())
+          continue;
+        RegList.push_back(MO.getReg());
+      }
       break;
     case ARM::STR_PRE_IMM:
     case ARM::STR_PRE_REG:





More information about the llvm-commits mailing list