From c105645c16f77ee20b853baf717073ad393dd4aa Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Sun, 14 Jul 2002 23:09:40 +0000 Subject: [PATCH] Create a static version of Instruction::getOpcodeName(opCode) that can be invoked with only an opcode (i.e., without an instruction). Move all opCode->opCodeName translations there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2900 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/Instruction.cpp | 53 ++++++++++++++++++++++++++++++++++++++ lib/VMCore/iOperators.cpp | 45 -------------------------------- 2 files changed, 53 insertions(+), 45 deletions(-) diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp index 737af5baec9..3bc642b6376 100644 --- a/lib/VMCore/Instruction.cpp +++ b/lib/VMCore/Instruction.cpp @@ -25,3 +25,56 @@ void Instruction::setName(const std::string &name, SymbolTable *ST) { Value::setName(name); if (PP && hasName()) PP->getSymbolTableSure()->insert(this); } + + +const char *Instruction::getOpcodeName(unsigned OpCode) { + switch (OpCode) { + // Terminators + case Ret: return "ret"; + case Br: return "br"; + case Switch: return "switch"; + case Invoke: return "invoke"; + + // Standard unary operators... + case Not: return "not"; + + // Standard binary operators... + case Add: return "add"; + case Sub: return "sub"; + case Mul: return "mul"; + case Div: return "div"; + case Rem: return "rem"; + + // Logical operators... + case And: return "and"; + case Or : return "or"; + case Xor: return "xor"; + + // SetCC operators... + case SetLE: return "setle"; + case SetGE: return "setge"; + case SetLT: return "setlt"; + case SetGT: return "setgt"; + case SetEQ: return "seteq"; + case SetNE: return "setne"; + + // Memory instructions... + case Malloc: return "malloc"; + case Free: return "free"; + case Alloca: return "alloca"; + case Load: return "load"; + case Store: return "store"; + case GetElementPtr: return "getelementptr"; + + // Other instructions... + case PHINode: return "phi"; + case Cast: return "cast"; + case Call: return "call"; + case Shl: return "shl"; + case Shr: return "shr"; + + default: return " "; + } + + return 0; +} diff --git a/lib/VMCore/iOperators.cpp b/lib/VMCore/iOperators.cpp index c2fe1bc04a1..75cac7d59d5 100644 --- a/lib/VMCore/iOperators.cpp +++ b/lib/VMCore/iOperators.cpp @@ -27,17 +27,6 @@ UnaryOperator *UnaryOperator::create(UnaryOps Op, Value *Source) { // GenericUnaryOperator Class //===----------------------------------------------------------------------===// -const char *GenericUnaryInst::getOpcodeName() const { - switch (getOpcode()) { - case Not: return "not"; - case Cast: return "cast"; - default: - cerr << "Invalid unary operator type!" << getOpcode() << "\n"; - abort(); - } - return 0; -} - //===----------------------------------------------------------------------===// // BinaryOperator Class @@ -87,26 +76,6 @@ bool BinaryOperator::swapOperands() { // GenericBinaryInst Class //===----------------------------------------------------------------------===// -const char *GenericBinaryInst::getOpcodeName() const { - switch (getOpcode()) { - // Standard binary operators... - case Add: return "add"; - case Sub: return "sub"; - case Mul: return "mul"; - case Div: return "div"; - case Rem: return "rem"; - - // Logical operators... - case And: return "and"; - case Or : return "or"; - case Xor: return "xor"; - default: - cerr << "Invalid binary operator type!" << getOpcode() << "\n"; - abort(); - } - return 0; -} - //===----------------------------------------------------------------------===// // SetCondInst Class @@ -122,17 +91,3 @@ SetCondInst::SetCondInst(BinaryOps opType, Value *S1, Value *S2, // Make sure it's a valid type... assert(getOpcodeName() != 0); } - -const char *SetCondInst::getOpcodeName() const { - switch (OpType) { - case SetLE: return "setle"; - case SetGE: return "setge"; - case SetLT: return "setlt"; - case SetGT: return "setgt"; - case SetEQ: return "seteq"; - case SetNE: return "setne"; - default: - assert(0 && "Invalid opcode type to SetCondInst class!"); - return "invalid opcode type to SetCondInst"; - } -}