summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-11 22:57:32 +0000
committerChris Lattner <sabre@nondot.org>2010-02-11 22:57:32 +0000
commitb1913c4df9a77821d1d399a277b9d8366addc94b (patch)
tree2ed25b8688b0633a17988ef52fdcaed22ec645a1 /llvm/lib
parent50dc219e8b1ca70a9b92aa3486c047636115cb27 (diff)
downloadbcm5719-llvm-b1913c4df9a77821d1d399a277b9d8366addc94b.tar.gz
bcm5719-llvm-b1913c4df9a77821d1d399a277b9d8366addc94b.zip
enhance llvm-mc -show-inst to print the enum of an instruction, like so:
testb %al, %al ## <MCInst #2412 TEST8rr ## <MCOperand Reg:2> ## <MCOperand Reg:2>> jne LBB1_7 ## <MCInst #938 JNE_1 ## <MCOperand Expr:(LBB1_7)>> llvm-svn: 95935
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp5
-rw-r--r--llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h5
-rw-r--r--llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp4
-rw-r--r--llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h2
4 files changed, 14 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
index 38ccbf9d501..1a35a4941c2 100644
--- a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
+++ b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
@@ -25,10 +25,15 @@ using namespace llvm;
// Include the auto-generated portion of the assembly writer.
#define MachineInstr MCInst
+#define GET_INSTRUCTION_NAME
#include "X86GenAsmWriter.inc"
#undef MachineInstr
void X86ATTInstPrinter::printInst(const MCInst *MI) { printInstruction(MI); }
+StringRef X86ATTInstPrinter::getOpcodeName(unsigned Opcode) const {
+ return getInstructionName(Opcode);
+}
+
void X86ATTInstPrinter::printSSECC(const MCInst *MI, unsigned Op) {
switch (MI->getOperand(Op).getImm()) {
diff --git a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h
index 3180618d126..d109a075b85 100644
--- a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h
+++ b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h
@@ -26,11 +26,12 @@ public:
virtual void printInst(const MCInst *MI);
-
+ virtual StringRef getOpcodeName(unsigned Opcode) const;
+
// Autogenerated by tblgen.
void printInstruction(const MCInst *MI);
static const char *getRegisterName(unsigned RegNo);
-
+ static const char *getInstructionName(unsigned Opcode);
void printOperand(const MCInst *MI, unsigned OpNo);
void printMemReference(const MCInst *MI, unsigned Op);
diff --git a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp
index 4274d0a436c..610beb550b2 100644
--- a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp
+++ b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp
@@ -24,10 +24,14 @@ using namespace llvm;
// Include the auto-generated portion of the assembly writer.
#define MachineInstr MCInst
+#define GET_INSTRUCTION_NAME
#include "X86GenAsmWriter1.inc"
#undef MachineInstr
void X86IntelInstPrinter::printInst(const MCInst *MI) { printInstruction(MI); }
+StringRef X86IntelInstPrinter::getOpcodeName(unsigned Opcode) const {
+ return getInstructionName(Opcode);
+}
void X86IntelInstPrinter::printSSECC(const MCInst *MI, unsigned Op) {
switch (MI->getOperand(Op).getImm()) {
diff --git a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h
index 1976177eb13..545bf84b916 100644
--- a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h
+++ b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h
@@ -26,10 +26,12 @@ public:
: MCInstPrinter(O, MAI) {}
virtual void printInst(const MCInst *MI);
+ virtual StringRef getOpcodeName(unsigned Opcode) const;
// Autogenerated by tblgen.
void printInstruction(const MCInst *MI);
static const char *getRegisterName(unsigned RegNo);
+ static const char *getInstructionName(unsigned Opcode);
void printOperand(const MCInst *MI, unsigned OpNo,
OpenPOWER on IntegriCloud