LLVM: llvm::LanaiDisassembler Class Reference (original) (raw)

#include "[Target/Lanai/Disassembler/LanaiDisassembler.h](LanaiDisassembler%5F8h%5Fsource.html)"

Inheritance diagram for llvm::LanaiDisassembler:

Public Member Functions
LanaiDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx)
~LanaiDisassembler () override=default
MCDisassembler::DecodeStatus getInstruction (MCInst &Instr, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &CStream) const override
Returns the disassembly of a single instruction.
Public Member Functions inherited from llvm::MCDisassembler
MCDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx)
virtual ~MCDisassembler ()
virtual DecodeStatus getInstructionBundle (MCInst &Instr, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &CStream) const
Returns the disassembly of an instruction bundle for VLIW architectures like Hexagon.
virtual Expected< bool > onSymbolStart (SymbolInfoTy &Symbol, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address) const
Used to perform separate target specific disassembly for a particular symbol.
virtual uint64_t suggestBytesToSkip (ArrayRef< uint8_t > Bytes, uint64_t Address) const
Suggest a distance to skip in a buffer of data to find the next place to look for the start of an instruction.
bool tryAddingSymbolicOperand (MCInst &Inst, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t OpSize, uint64_t InstSize) const
void tryAddingPcLoadReferenceComment (int64_t Value, uint64_t Address) const
void setSymbolizer (std::unique_ptr< MCSymbolizer > Symzer)
Set Symzer as the current symbolizer.
MCContext & getContext () const
const MCSubtargetInfo & getSubtargetInfo () const
virtual void setABIVersion (unsigned Version)
ELF-specific, set the ABI version from the object header.
Additional Inherited Members
Public Types inherited from llvm::MCDisassembler
enum DecodeStatus { Fail = 0 , SoftFail = 1 , Success = 3 }
Ternary decode status. More...
Public Attributes inherited from llvm::MCDisassembler
raw_ostream * CommentStream = nullptr
Protected Attributes inherited from llvm::MCDisassembler
const MCSubtargetInfo & STI
std::unique_ptr< MCSymbolizer > Symbolizer

Detailed Description

Definition at line 20 of file LanaiDisassembler.h.

Constructor & Destructor Documentation

~LanaiDisassembler()

llvm::LanaiDisassembler::~LanaiDisassembler ( ) overridedefault

Member Function Documentation

getInstruction()

Returns the disassembly of a single instruction.

Parameters

Instr - An MCInst to populate with the contents of the instruction.
Size - A value to populate with the size of the instruction, or the number of bytes consumed while attempting to decode an invalid instruction.
Address - The address, in the memory space of region, of the first byte of the instruction.
Bytes - A reference to the actual bytes of the instruction.
CStream - The stream to print comments and annotations on.

Returns

- MCDisassembler::Success if the instruction is valid, MCDisassembler::SoftFail if the instruction was disassemblable but invalid, MCDisassembler::Fail if the instruction was invalid.

Implements llvm::MCDisassembler.

Definition at line 205 of file LanaiDisassembler.cpp.

References llvm::Address, llvm::MCDisassembler::Fail, PostOperandDecodeAdjust(), readInstruction32(), Size, and llvm::MCDisassembler::STI.


The documentation for this class was generated from the following files: