Should never see an indexed load / store with zero offset.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 3 May 2007 23:30:36 +0000 (23:30 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 3 May 2007 23:30:36 +0000 (23:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36714 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMAsmPrinter.cpp

index c35ef57c9ccb565bf5c617d91082d416e3892e8c..9454fb717f43b8b4af29cac2837c767e04efd255 100644 (file)
@@ -433,10 +433,11 @@ void ARMAsmPrinter::printAddrMode2OffsetOperand(const MachineInstr *MI, int Op){
   const MachineOperand &MO2 = MI->getOperand(Op+1);
 
   if (!MO1.getReg()) {
-    if (ARM_AM::getAM2Offset(MO2.getImm()))  // Don't print +0.
-      O << "#"
-        << (char)ARM_AM::getAM2Op(MO2.getImm())
-        << ARM_AM::getAM2Offset(MO2.getImm());
+    unsigned ImmOffs = ARM_AM::getAM2Offset(MO2.getImm());
+    assert(ImmOffs && "Malformed indexed load / store!");
+    O << "#"
+      << (char)ARM_AM::getAM2Op(MO2.getImm())
+      << ImmOffs;
     return;
   }
 
@@ -483,8 +484,9 @@ void ARMAsmPrinter::printAddrMode3OffsetOperand(const MachineInstr *MI, int Op){
   }
 
   unsigned ImmOffs = ARM_AM::getAM3Offset(MO2.getImm());
+  assert(ImmOffs && "Malformed indexed load / store!");
   O << "#"
-  << (char)ARM_AM::getAM3Op(MO2.getImm())
+    << (char)ARM_AM::getAM3Op(MO2.getImm())
     << ImmOffs;
 }