Make sure to propagate the predicate operands for LEApcrel to ADR.
authorJim Grosbach <grosbach@apple.com>
Tue, 14 Dec 2010 20:45:47 +0000 (20:45 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 14 Dec 2010 20:45:47 +0000 (20:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121788 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMAsmPrinter.cpp

index 0ba7b40177e17b5faafb4d540423713806813453..cabffa73cd69a25584edce333826dc125551bcaf 100644 (file)
@@ -749,8 +749,8 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) {
     TmpInst.addOperand(MCOperand::CreateReg(MI->getOperand(0).getReg()));
     TmpInst.addOperand(MCOperand::CreateExpr(SymbolExpr));
     // Add predicate operands.
-    TmpInst.addOperand(MCOperand::CreateImm(ARMCC::AL));
-    TmpInst.addOperand(MCOperand::CreateReg(0));
+    TmpInst.addOperand(MCOperand::CreateImm(MI->getOperand(2).getImm()));
+    TmpInst.addOperand(MCOperand::CreateReg(MI->getOperand(3).getReg()));
     OutStreamer.EmitInstruction(TmpInst);
     return;
   }
@@ -768,8 +768,8 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) {
     TmpInst.addOperand(MCOperand::CreateReg(MI->getOperand(0).getReg()));
     TmpInst.addOperand(MCOperand::CreateExpr(SymbolExpr));
     // Add predicate operands.
-    TmpInst.addOperand(MCOperand::CreateImm(ARMCC::AL));
-    TmpInst.addOperand(MCOperand::CreateReg(0));
+    TmpInst.addOperand(MCOperand::CreateImm(MI->getOperand(3).getImm()));
+    TmpInst.addOperand(MCOperand::CreateReg(MI->getOperand(4).getReg()));
     OutStreamer.EmitInstruction(TmpInst);
     return;
   }