diff options
| author | Bill Wendling <isanbard@gmail.com> | 2010-11-13 10:40:19 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2010-11-13 10:40:19 +0000 |
| commit | f2fa04acfc744fb3e7a2815b7857cf7cf27108f7 (patch) | |
| tree | 795ac8bf772517b86af56d2fca3d4800e49c0c4e /llvm/lib | |
| parent | 456daba135079c8cf81ac4550f851b09f319de95 (diff) | |
| download | bcm5719-llvm-f2fa04acfc744fb3e7a2815b7857cf7cf27108f7.tar.gz bcm5719-llvm-f2fa04acfc744fb3e7a2815b7857cf7cf27108f7.zip | |
Minor cleanups:
- Get the opcode once.
- Add a ParserMatchClass to reglist.
llvm-svn: 118997
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 11 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | 14 |
2 files changed, 14 insertions, 11 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index b43678080c0..6ff4bbb308c 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/lib/Target/ARM/ARMInstrInfo.td @@ -285,16 +285,17 @@ def bltarget : Operand<i32> { } // A list of registers separated by comma. Used by load/store multiple. -def reglist : Operand<i32> { - string EncoderMethod = "getRegisterListOpValue"; - let PrintMethod = "printRegisterList"; -} - def RegListAsmOperand : AsmOperandClass { let Name = "RegList"; let SuperClasses = []; } +def reglist : Operand<i32> { + string EncoderMethod = "getRegisterListOpValue"; + let ParserMatchClass = RegListAsmOperand; + let PrintMethod = "printRegisterList"; +} + // An operand for the CONSTPOOL_ENTRY pseudo-instruction. def cpinst_operand : Operand<i32> { let PrintMethod = "printCPInstOperand"; diff --git a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp index cb8f78772e2..f54398cb302 100644 --- a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp @@ -31,8 +31,10 @@ StringRef ARMInstPrinter::getOpcodeName(unsigned Opcode) const { void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { + unsigned Opcode = MI->getOpcode(); + // Check for MOVs and print canonical forms, instead. - if (MI->getOpcode() == ARM::MOVs) { + if (Opcode == ARM::MOVs) { // FIXME: Thumb variants? const MCOperand &Dst = MI->getOperand(0); const MCOperand &MO1 = MI->getOperand(1); @@ -61,7 +63,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { } // A8.6.123 PUSH - if ((MI->getOpcode() == ARM::STM_UPD || MI->getOpcode() == ARM::t2STM_UPD) && + if ((Opcode == ARM::STM_UPD || Opcode == ARM::t2STM_UPD) && MI->getOperand(0).getReg() == ARM::SP) { const MCOperand &MO1 = MI->getOperand(2); if (ARM_AM::getAM4SubMode(MO1.getImm()) == ARM_AM::db) { @@ -74,7 +76,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { } // A8.6.122 POP - if ((MI->getOpcode() == ARM::LDM_UPD || MI->getOpcode() == ARM::t2LDM_UPD) && + if ((Opcode == ARM::LDM_UPD || Opcode == ARM::t2LDM_UPD) && MI->getOperand(0).getReg() == ARM::SP) { const MCOperand &MO1 = MI->getOperand(2); if (ARM_AM::getAM4SubMode(MO1.getImm()) == ARM_AM::ia) { @@ -87,7 +89,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { } // A8.6.355 VPUSH - if ((MI->getOpcode() == ARM::VSTMS_UPD || MI->getOpcode() ==ARM::VSTMD_UPD) && + if ((Opcode == ARM::VSTMS_UPD || Opcode == ARM::VSTMD_UPD) && MI->getOperand(0).getReg() == ARM::SP) { const MCOperand &MO1 = MI->getOperand(2); if (ARM_AM::getAM4SubMode(MO1.getImm()) == ARM_AM::db) { @@ -100,7 +102,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { } // A8.6.354 VPOP - if ((MI->getOpcode() == ARM::VLDMS_UPD || MI->getOpcode() ==ARM::VLDMD_UPD) && + if ((Opcode == ARM::VLDMS_UPD || Opcode == ARM::VLDMD_UPD) && MI->getOperand(0).getReg() == ARM::SP) { const MCOperand &MO1 = MI->getOperand(2); if (ARM_AM::getAM4SubMode(MO1.getImm()) == ARM_AM::ia) { @@ -113,7 +115,7 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { } printInstruction(MI, O); - } +} void ARMInstPrinter::printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O) { |

