//===- lib/MC/MCInst.cpp - MCInst implementation --------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "llvm/MC/MCInst.h" #include "llvm/Config/llvm-config.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCInstPrinter.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; void MCOperand::print(raw_ostream &OS) const { OS << ""; } bool MCOperand::evaluateAsConstantImm(int64_t &Imm) const { if (isImm()) { Imm = getImm(); return true; } return false; } bool MCOperand::isBareSymbolRef() const { assert(isExpr() && "isBareSymbolRef expects only expressions"); const MCExpr *Expr = getExpr(); MCExpr::ExprKind Kind = getExpr()->getKind(); return Kind == MCExpr::SymbolRef && cast(Expr)->getKind() == MCSymbolRefExpr::VK_None; } #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) LLVM_DUMP_METHOD void MCOperand::dump() const { print(dbgs()); dbgs() << "\n"; } #endif void MCInst::print(raw_ostream &OS) const { OS << ""; } void MCInst::dump_pretty(raw_ostream &OS, const MCInstPrinter *Printer, StringRef Separator) const { StringRef InstName = Printer ? Printer->getOpcodeName(getOpcode()) : ""; dump_pretty(OS, InstName, Separator); } void MCInst::dump_pretty(raw_ostream &OS, StringRef Name, StringRef Separator) const { OS << ""; } #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) LLVM_DUMP_METHOD void MCInst::dump() const { print(dbgs()); dbgs() << "\n"; } #endif