LLVM  15.0.0git
Public Member Functions | List of all members
llvm::AArch64Disassembler Class Reference

#include "Target/AArch64/Disassembler/AArch64Disassembler.h"

Inheritance diagram for llvm::AArch64Disassembler:
Inheritance graph
Collaboration diagram for llvm::AArch64Disassembler:
Collaboration graph

Public Member Functions

 AArch64Disassembler (const MCSubtargetInfo &STI, MCContext &Ctx, MCInstrInfo const *MCII)
 ~AArch64Disassembler () 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. More...
- Public Member Functions inherited from llvm::MCDisassembler
 MCDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx)
virtual ~MCDisassembler ()
virtual Optional< DecodeStatusonSymbolStart (SymbolInfoTy &Symbol, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &CStream) const
 Used to perform separate target specific disassembly for a particular symbol. More...
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. More...
MCContextgetContext () const
const MCSubtargetInfogetSubtargetInfo () const

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

Definition at line 20 of file AArch64Disassembler.h.

Constructor & Destructor Documentation

◆ AArch64Disassembler()

llvm::AArch64Disassembler::AArch64Disassembler ( const MCSubtargetInfo STI,
MCContext Ctx,
MCInstrInfo const MCII 

Definition at line 24 of file AArch64Disassembler.h.

◆ ~AArch64Disassembler()

llvm::AArch64Disassembler::~AArch64Disassembler ( )

Member Function Documentation

◆ getInstruction()

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

Returns the disassembly of a single instruction.

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.
- 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 291 of file AArch64Disassembler.cpp.

References assert(), llvm::MCDisassembler::CommentStream, llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCInstrDesc::getNumOperands(), i, Insn, llvm::MCOperand::isImm(), MI, llvm::AArch64::OPERAND_IMPLICIT_IMM_0, llvm::MCOI::OPERAND_REGISTER, llvm::MCOperandInfo::OperandType, llvm::MCInstrDesc::OpInfo, llvm::MCOperandInfo::RegClass, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::STI.

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