2
0

MCDisassembler.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //===-- MCDisassembler.cpp - Disassembler interface -----------------------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #include "llvm/MC/MCDisassembler.h"
  10. #include "llvm/MC/MCExternalSymbolizer.h"
  11. #include "llvm/Support/raw_ostream.h"
  12. using namespace llvm;
  13. MCDisassembler::~MCDisassembler() {
  14. }
  15. bool MCDisassembler::tryAddingSymbolicOperand(MCInst &Inst, int64_t Value,
  16. uint64_t Address, bool IsBranch,
  17. uint64_t Offset,
  18. uint64_t InstSize) const {
  19. raw_ostream &cStream = CommentStream ? *CommentStream : nulls();
  20. if (Symbolizer)
  21. return Symbolizer->tryAddingSymbolicOperand(Inst, cStream, Value, Address,
  22. IsBranch, Offset, InstSize);
  23. return false;
  24. }
  25. void MCDisassembler::tryAddingPcLoadReferenceComment(int64_t Value,
  26. uint64_t Address) const {
  27. raw_ostream &cStream = CommentStream ? *CommentStream : nulls();
  28. if (Symbolizer)
  29. Symbolizer->tryAddingPcLoadReferenceComment(cStream, Value, Address);
  30. }
  31. void MCDisassembler::setSymbolizer(std::unique_ptr<MCSymbolizer> Symzer) {
  32. Symbolizer = std::move(Symzer);
  33. }