diff options
author | Chris Lattner <sabre@nondot.org> | 2009-10-20 00:42:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-10-20 00:42:49 +0000 |
commit | 19c52201bdeba6537a1ec642f694da3b34f46a81 (patch) | |
tree | 4b31c45ab75b35c4ddd258baeed909837ce7f888 /llvm/lib | |
parent | 2f69ed8f4cdcf20b39a7972c986975bdd58e7af6 (diff) | |
download | llvm-19c52201bdeba6537a1ec642f694da3b34f46a81.zip llvm-19c52201bdeba6537a1ec642f694da3b34f46a81.tar.gz llvm-19c52201bdeba6537a1ec642f694da3b34f46a81.tar.bz2 |
add support for instruction predicates.
llvm-svn: 84575
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 9 | ||||
-rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp index abb0399..65c5414 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp @@ -12,14 +12,13 @@ //===----------------------------------------------------------------------===// #define DEBUG_TYPE "asm-printer" +#include "ARM.h" // FIXME: FACTOR ENUMS BETTER. #include "ARMInstPrinter.h" #include "ARMAddressingModes.h" #include "llvm/MC/MCInst.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCExpr.h" #include "llvm/Support/raw_ostream.h" -#include "ARMGenInstrNames.inc" -#include "ARMGenRegisterNames.inc" using namespace llvm; // Include the auto-generated portion of the assembly writer. @@ -181,6 +180,12 @@ void ARMInstPrinter::printRegisterList(const MCInst *MI, unsigned OpNum) { O << "}"; } +void ARMInstPrinter::printPredicateOperand(const MCInst *MI, unsigned OpNum) { + ARMCC::CondCodes CC = (ARMCC::CondCodes)MI->getOperand(OpNum).getImm(); + if (CC != ARMCC::AL) + O << ARMCondCodeToString(CC); +} + void ARMInstPrinter::printCPInstOperand(const MCInst *MI, unsigned OpNum, const char *Modifier) { diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h index 99388e0..332adde 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h @@ -68,7 +68,7 @@ public: void printT2AddrModeImm8OffsetOperand(const MCInst *MI, unsigned OpNum) {} void printT2AddrModeSoRegOperand(const MCInst *MI, unsigned OpNum) {} - void printPredicateOperand(const MCInst *MI, unsigned OpNum) {} + void printPredicateOperand(const MCInst *MI, unsigned OpNum); void printSBitModifierOperand(const MCInst *MI, unsigned OpNum) {} void printRegisterList(const MCInst *MI, unsigned OpNum); void printCPInstOperand(const MCInst *MI, unsigned OpNum, |