Turns out that Thumb2 ADR doesn't need special printing like LDR does. Fix other...
authorOwen Anderson <resistor@mac.com>
Wed, 21 Sep 2011 23:53:44 +0000 (23:53 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 21 Sep 2011 23:53:44 +0000 (23:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140284 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
lib/Target/ARM/InstPrinter/ARMInstPrinter.h
test/MC/ARM/basic-thumb2-instructions.s

index 80ad5b45adb6d128334497d2dffca2e641cbd564..c83984ba9fa59556a8794c720133c31d96fc022e 100644 (file)
@@ -121,7 +121,6 @@ def t2ldrlabel : Operand<i32> {
 // ADR instruction labels.
 def t2adrlabel : Operand<i32> {
   let EncoderMethod = "getT2AdrLabelOpValue";
-  let PrintMethod = "printT2AdrLabelOperand";
 }
 
 
index 251b447886ce5d180374fc68c0a5fbe60f93528f..2935efe5e7731caca96d4005aaffa27fd570edf9 100644 (file)
@@ -222,18 +222,6 @@ void ARMInstPrinter::printT2LdrLabelOperand(const MCInst *MI, unsigned OpNum,
     llvm_unreachable("Unknown LDR label operand?");
 }
 
-void ARMInstPrinter::printT2AdrLabelOperand(const MCInst *MI, unsigned OpNum,
-                                       raw_ostream &O) {
-  const MCOperand &MO1 = MI->getOperand(OpNum);
-  if (MO1.isExpr())
-    O << *MO1.getExpr();
-  else if (MO1.isImm())
-    O << "[pc, #" << MO1.getImm() << "]";
-  else
-    llvm_unreachable("Unknown LDR label operand?");
-}
-
-
 // so_reg is a 4-operand unit corresponding to register forms of the A5.1
 // "Addressing Mode 1 - Data-processing operands" forms.  This includes:
 //    REG 0   0           - e.g. R5
index bc1394e3f92378a9f72a7c04937fa575865f0acf..67484cc71122b75831b90971293aa3eed5c02476 100644 (file)
@@ -128,7 +128,6 @@ public:
 
   void printPCLabel(const MCInst *MI, unsigned OpNum, raw_ostream &O);
   void printT2LdrLabelOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O);
-  void printT2AdrLabelOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O);
 };
 
 } // end namespace llvm
index 8ceedafda54340adfbc415facaba5d57b97a67f6..184bcdc1af02b068b07d51874a7a6b8ef8bb9de7 100644 (file)
@@ -890,11 +890,13 @@ _func:
 @ LDRSH(literal)
 @------------------------------------------------------------------------------
         ldrsh r5, _bar
-        ldrsh.w r4, #1435
 
 @ CHECK: ldrsh.w r5, _bar               @ encoding: [0xbf'A',0xf9'A',A,0x50'A']
 @ CHECK:      @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12
-@ CHECK: ldrsh.w r4, #1435               @ encoding: [0x3f,0xf9,0x9b,0x45]
+
+@ TEMPORARILY DISABLED:
+@        ldrsh.w r4, [pc, #1435]
+@      : ldrsh.w r4, [pc, #1435]               @ encoding: [0x3f,0xf9,0x9b,0x45]
 
 @------------------------------------------------------------------------------
 @ LDRSHT