mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Add {MCInst,MCOperand}::{print,dump}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80231 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
52
lib/MC/MCInst.cpp
Normal file
52
lib/MC/MCInst.cpp
Normal file
@ -0,0 +1,52 @@
|
||||
//===- lib/MC/MCInst.cpp - MCInst implementation --------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/MC/MCInst.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
void MCOperand::print(raw_ostream &OS) const {
|
||||
OS << "<MCOperand ";
|
||||
if (!isValid())
|
||||
OS << "INVALID";
|
||||
else if (isReg())
|
||||
OS << "Reg:" << getReg();
|
||||
else if (isImm())
|
||||
OS << "Imm:" << getImm();
|
||||
else if (isMBBLabel())
|
||||
OS << "MBB:(" << getMBBLabelFunction() << ","
|
||||
<< getMBBLabelBlock() << ")";
|
||||
else if (isMCValue()) {
|
||||
OS << "Value:(";
|
||||
getMCValue().print(OS);
|
||||
OS << ")";
|
||||
} else
|
||||
OS << "UNDEFINED";
|
||||
OS << ">";
|
||||
}
|
||||
|
||||
void MCOperand::dump() const {
|
||||
print(errs());
|
||||
errs() << "\n";
|
||||
}
|
||||
|
||||
void MCInst::print(raw_ostream &OS) const {
|
||||
OS << "<MCInst " << getOpcode();
|
||||
for (unsigned i = 0, e = getNumOperands(); i != e; ++i) {
|
||||
OS << " ";
|
||||
getOperand(i).print(OS);
|
||||
}
|
||||
OS << ">";
|
||||
}
|
||||
|
||||
void MCInst::dump() const {
|
||||
print(errs());
|
||||
errs() << "\n";
|
||||
}
|
Reference in New Issue
Block a user