15#ifndef LLVM_MC_MCDISASSEMBLER_MCSYMBOLIZER_H
16#define LLVM_MC_MCDISASSEMBLER_MCSYMBOLIZER_H
42 std::unique_ptr<MCRelocationInfo>
RelInfo;
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Context object for machine code objects.
Instances of this class represent a single low-level machine instruction.
Symbolize and annotate disassembled instructions.
MCSymbolizer(MCContext &Ctx, std::unique_ptr< MCRelocationInfo > RelInfo)
Construct an MCSymbolizer, taking ownership of RelInfo.
std::unique_ptr< MCRelocationInfo > RelInfo
MCSymbolizer & operator=(const MCSymbolizer &)=delete
virtual void tryAddingPcLoadReferenceComment(raw_ostream &cStream, int64_t Value, uint64_t Address)=0
Try to add a comment on the PC-relative load.
MCSymbolizer(const MCSymbolizer &)=delete
virtual bool tryAddingSymbolicOperand(MCInst &Inst, raw_ostream &cStream, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t OpSize, uint64_t InstSize)=0
Try to add a symbolic operand instead of Value to the MCInst.
virtual ArrayRef< uint64_t > getReferencedAddresses() const
Get the MCSymbolizer's list of addresses that were referenced by symbolizable operands but not resolv...
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.