LLDB mainline
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
DisassemblerLLVMC::MCDisasmInstance Class Reference

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, lldb::addr_t pc, std::string &inst_string, std::string &comments_string)
 
void SetStyle (bool use_hex_immed, HexImmediateStyle hex_style)
 
void SetUseColor (bool use_color)
 
bool GetUseColor () const
 
bool CanBranch (llvm::MCInst &mc_inst) const
 
bool HasDelaySlot (llvm::MCInst &mc_inst) const
 
bool IsCall (llvm::MCInst &mc_inst) const
 
bool IsLoad (llvm::MCInst &mc_inst) const
 
bool IsAuthenticated (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, std::unique_ptr< llvm::MCInstrAnalysis > &&instr_analysis_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
 
std::unique_ptr< llvm::MCInstrAnalysis > m_instr_analysis_up
 

Detailed Description

Definition at line 53 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,
std::unique_ptr< llvm::MCInstrAnalysis > &&  instr_analysis_up 
)
private

Member Function Documentation

◆ CanBranch()

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

Definition at line 1403 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

◆ GetUseColor()

bool DisassemblerLLVMC::MCDisasmInstance::GetUseColor ( ) const

◆ HasDelaySlot()

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

Definition at line 1411 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ IsAuthenticated()

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

Definition at line 1426 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ IsCall()

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

Definition at line 1416 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ IsLoad()

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

Definition at line 1422 of file DisassemblerLLVMC.cpp.

Referenced by InstructionLLVMC::VisitInstruction().

◆ PrintMCInst()

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

Definition at line 1357 of file DisassemblerLLVMC.cpp.

References pc.

Referenced by InstructionLLVMC::CalculateMnemonicOperandsAndComment().

◆ SetStyle()

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

◆ SetUseColor()

void DisassemblerLLVMC::MCDisasmInstance::SetUseColor ( bool  use_color)

Member Data Documentation

◆ m_asm_info_up

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

Definition at line 87 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_context_up

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

Definition at line 88 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_disasm_up

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

Definition at line 89 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().

◆ m_instr_analysis_up

std::unique_ptr<llvm::MCInstrAnalysis> DisassemblerLLVMC::MCDisasmInstance::m_instr_analysis_up
private

Definition at line 91 of file DisassemblerLLVMC.cpp.

◆ m_instr_info_up

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

Definition at line 84 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 90 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 85 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 86 of file DisassemblerLLVMC.cpp.

Referenced by MCDisasmInstance().


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