LLVM 22.0.0git
M68kDisassembler Struct Reference

A disassembler class for M68k. More...

Inheritance diagram for M68kDisassembler:
[legend]

Public Member Functions

 M68kDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx)
virtual ~M68kDisassembler ()
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< boolonSymbolStart (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.
MCContextgetContext () const
const MCSubtargetInfogetSubtargetInfo () 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_ostreamCommentStream = nullptr
Protected Attributes inherited from llvm::MCDisassembler
const MCSubtargetInfoSTI
std::unique_ptr< MCSymbolizerSymbolizer

Detailed Description

A disassembler class for M68k.

Definition at line 136 of file M68kDisassembler.cpp.

Constructor & Destructor Documentation

◆ M68kDisassembler()

M68kDisassembler::M68kDisassembler ( const MCSubtargetInfo & STI,
MCContext & Ctx )
inline

◆ ~M68kDisassembler()

virtual M68kDisassembler::~M68kDisassembler ( )
inlinevirtual

Definition at line 139 of file M68kDisassembler.cpp.

Member Function Documentation

◆ getInstruction()

DecodeStatus M68kDisassembler::getInstruction ( MCInst & Instr,
uint64_t & Size,
ArrayRef< uint8_t > Bytes,
uint64_t Address,
raw_ostream & CStream ) const
overridevirtual

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 146 of file M68kDisassembler.cpp.

References llvm::Address, llvm::alignTo(), llvm::ArrayRef< T >::data(), llvm::APInt::getBitWidth(), llvm::APInt::insertBits(), llvm::support::endian::read16be(), Size, llvm::MCDisassembler::STI, and llvm::APInt::zext().


The documentation for this struct was generated from the following file: