LLDB  mainline
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
DisassemblerLLVMC::MCDisasmInstance Class Reference
Collaboration diagram for DisassemblerLLVMC::MCDisasmInstance:
Collaboration graph
[legend]

Public Member Functions

 ~MCDisasmInstance ()=default
 
uint64_t GetMCInst (const uint8_t *opcode_data, size_t opcode_data_len, lldb::addr_t pc, llvm::MCInst &mc_inst) const
 
void PrintMCInst (llvm::MCInst &mc_inst, std::string &inst_string, std::string &comments_string)
 
void SetStyle (bool use_hex_immed, HexImmediateStyle hex_style)
 
bool CanBranch (llvm::MCInst &mc_inst) const
 
bool HasDelaySlot (llvm::MCInst &mc_inst) const
 
bool IsCall (llvm::MCInst &mc_inst) const
 

Static Public Member Functions

static std::unique_ptr< MCDisasmInstanceCreate (const char *triple, const char *cpu, const char *features_str, unsigned flavor, DisassemblerLLVMC &owner)
 

Private Member Functions

 MCDisasmInstance (std::unique_ptr< llvm::MCInstrInfo > &&instr_info_up, std::unique_ptr< llvm::MCRegisterInfo > &&reg_info_up, std::unique_ptr< llvm::MCSubtargetInfo > &&subtarget_info_up, std::unique_ptr< llvm::MCAsmInfo > &&asm_info_up, std::unique_ptr< llvm::MCContext > &&context_up, std::unique_ptr< llvm::MCDisassembler > &&disasm_up, std::unique_ptr< llvm::MCInstPrinter > &&instr_printer_up)
 

Private Attributes

std::unique_ptr< llvm::MCInstrInfo > m_instr_info_up
 
std::unique_ptr< llvm::MCRegisterInfo > m_reg_info_up
 
std::unique_ptr< llvm::MCSubtargetInfo > m_subtarget_info_up
 
std::unique_ptr< llvm::MCAsmInfo > m_asm_info_up
 
std::unique_ptr< llvm::MCContext > m_context_up
 
std::unique_ptr< llvm::MCDisassembler > m_disasm_up
 
std::unique_ptr< llvm::MCInstPrinter > m_instr_printer_up
 

Detailed Description

Definition at line 48 of file DisassemblerLLVMC.cpp.

Constructor & Destructor Documentation

◆ ~MCDisasmInstance()

DisassemblerLLVMC::MCDisasmInstance::~MCDisasmInstance ( )
default

◆ MCDisasmInstance()

DisassemblerLLVMC::MCDisasmInstance::MCDisasmInstance ( std::unique_ptr< llvm::MCInstrInfo > &&  instr_info_up,
std::unique_ptr< llvm::MCRegisterInfo > &&  reg_info_up,
std::unique_ptr< llvm::MCSubtargetInfo > &&  subtarget_info_up,
std::unique_ptr< llvm::MCAsmInfo > &&  asm_info_up,
std::unique_ptr< llvm::MCContext > &&  context_up,
std::unique_ptr< llvm::MCDisassembler > &&  disasm_up,
std::unique_ptr< llvm::MCInstPrinter > &&  instr_printer_up 
)
private

Member Function Documentation

◆ CanBranch()

bool DisassemblerLLVMC::MCDisasmInstance::CanBranch ( llvm::MCInst &  mc_inst) const

Definition at line 1015 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ Create()

std::unique_ptr< DisassemblerLLVMC::MCDisasmInstance > DisassemblerLLVMC::MCDisasmInstance::Create ( const char *  triple,
const char *  cpu,
const char *  features_str,
unsigned  flavor,
DisassemblerLLVMC owner 
)
static

◆ GetMCInst()

uint64_t DisassemblerLLVMC::MCDisasmInstance::GetMCInst ( const uint8_t *  opcode_data,
size_t  opcode_data_len,
lldb::addr_t  pc,
llvm::MCInst &  mc_inst 
) const

◆ HasDelaySlot()

bool DisassemblerLLVMC::MCDisasmInstance::HasDelaySlot ( llvm::MCInst &  mc_inst) const

Definition at line 1021 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ IsCall()

bool DisassemblerLLVMC::MCDisasmInstance::IsCall ( llvm::MCInst &  mc_inst) const

Definition at line 1026 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ PrintMCInst()

void DisassemblerLLVMC::MCDisasmInstance::PrintMCInst ( llvm::MCInst &  mc_inst,
std::string inst_string,
std::string comments_string 
)

Definition at line 979 of file DisassemblerLLVMC.cpp.

References string().

Referenced by InstructionLLVMC::CalculateMnemonicOperandsAndComment().

◆ SetStyle()

void DisassemblerLLVMC::MCDisasmInstance::SetStyle ( bool  use_hex_immed,
HexImmediateStyle  hex_style 
)

Member Data Documentation

◆ m_asm_info_up

std::unique_ptr<llvm::MCAsmInfo> DisassemblerLLVMC::MCDisasmInstance::m_asm_info_up
private

Definition at line 77 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_context_up

std::unique_ptr<llvm::MCContext> DisassemblerLLVMC::MCDisasmInstance::m_context_up
private

Definition at line 78 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_disasm_up

std::unique_ptr<llvm::MCDisassembler> DisassemblerLLVMC::MCDisasmInstance::m_disasm_up
private

Definition at line 79 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_instr_info_up

std::unique_ptr<llvm::MCInstrInfo> DisassemblerLLVMC::MCDisasmInstance::m_instr_info_up
private

Definition at line 74 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_instr_printer_up

std::unique_ptr<llvm::MCInstPrinter> DisassemblerLLVMC::MCDisasmInstance::m_instr_printer_up
private

Definition at line 80 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_reg_info_up

std::unique_ptr<llvm::MCRegisterInfo> DisassemblerLLVMC::MCDisasmInstance::m_reg_info_up
private

Definition at line 75 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_subtarget_info_up

std::unique_ptr<llvm::MCSubtargetInfo> DisassemblerLLVMC::MCDisasmInstance::m_subtarget_info_up
private

Definition at line 76 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().


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