partial implementation of the ARM Addressing Mode 1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30252 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp
index f28f8df..55591b9 100644
--- a/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -54,6 +54,8 @@
return "ARM Assembly Printer";
}
+ void printAddrMode1(const MachineInstr *MI, int opNum);
+
void printMemRegImm(const MachineInstr *MI, int opNum,
const char *Modifier = NULL) {
const MachineOperand &MO1 = MI->getOperand(opNum);
@@ -155,6 +157,17 @@
return false;
}
+void ARMAsmPrinter::printAddrMode1(const MachineInstr *MI, int opNum) {
+ const MachineOperand &MO1 = MI->getOperand(opNum);
+
+ if(MO1.isImmediate()) {
+ printOperand(MI, opNum);
+ } else {
+ assert(MO1.isRegister());
+ printOperand(MI, opNum);
+ }
+}
+
void ARMAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
const MachineOperand &MO = MI->getOperand (opNum);
const MRegisterInfo &RI = *TM.getRegisterInfo();