LLDB mainline
Classes | Namespaces | Functions
DisassemblerLLVMC.cpp File Reference
#include "DisassemblerLLVMC.h"
#include "llvm-c/Disassembler.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCDisassembler/MCExternalSymbolizer.h"
#include "llvm/MC/MCDisassembler/MCRelocationInfo.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstPrinter.h"
#include "llvm/MC/MCInstrAnalysis.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/TargetParser/AArch64TargetParser.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/Module.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
#include <optional>

Go to the source code of this file.

Classes

class  DisassemblerLLVMC::MCDisasmInstance
 
struct  x86::InstructionOpcodeAndModrm
 These are the three values deciding instruction control flow kind. More...
 
class  InstructionLLVMC
 
class  InstructionLLVMC::DisassemblerScope
 Grants exclusive access to the disassembler and initializes it with the given InstructionLLVMC and an optional ExecutionContext. More...
 

Namespaces

namespace  x86
 

Functions

lldb::InstructionControlFlowKind x86::MapOpcodeIntoControlFlowKind (InstructionOpcodeAndModrm opcode_and_modrm)
 Determine the InstructionControlFlowKind based on opcode and modrm bytes.
 
std::optional< InstructionOpcodeAndModrm > x86::InstructionLengthDecode (const uint8_t *inst_bytes, int bytes_len, bool is_exec_mode_64b)
 Decode an instruction into opcode, modrm and opcode_len.
 
lldb::InstructionControlFlowKind x86::GetControlFlowKind (bool is_exec_mode_64b, Opcode m_opcode)