LLDB mainline
|
#include "ABISysV_riscv.h"
#include <array>
#include <limits>
#include "llvm/IR/DerivedTypes.h"
#include "Utility/RISCV_DWARF_Registers.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/RegisterValue.h"
Go to the source code of this file.
Namespaces | |
namespace | dwarf |
Macros | |
#define | DEFINE_REG_NAME(reg_num) ConstString(#reg_num).GetCString() |
#define | DEFINE_REG_NAME_STR(reg_name) ConstString(reg_name).GetCString() |
#define | DEFINE_GENERIC_REGISTER_STUB(dwarf_num, str_name, generic_num) |
#define | DEFINE_REGISTER_STUB(dwarf_num, str_name) DEFINE_GENERIC_REGISTER_STUB(dwarf_num, str_name, LLDB_INVALID_REGNUM) |
Functions | |
static size_t | AugmentArgSize (bool is_rv64, size_t size_in_bytes) |
static size_t | TotalArgsSizeInWords (bool is_rv64, const llvm::ArrayRef< ABI::CallArgument > &args) |
template<typename T > | |
static void | SetInteger (Scalar &scalar, uint64_t raw_value, bool is_signed) |
static bool | SetSizedInteger (Scalar &scalar, uint64_t raw_value, uint8_t size_in_bytes, bool is_signed) |
static bool | SetSizedFloat (Scalar &scalar, uint64_t raw_value, uint8_t size_in_bytes) |
static ValueObjectSP | GetValObjFromIntRegs (Thread &thread, const RegisterContextSP ®_ctx, llvm::Triple::ArchType machine, uint32_t type_flags, uint32_t byte_size) |
static ValueObjectSP | GetValObjFromFPRegs (Thread &thread, const RegisterContextSP ®_ctx, llvm::Triple::ArchType machine, uint32_t arch_fp_flags, uint32_t type_flags, uint32_t byte_size) |
static uint32_t | GetGenericNum (llvm::StringRef name) |
#define DEFINE_GENERIC_REGISTER_STUB | ( | dwarf_num, | |
str_name, | |||
generic_num | |||
) |
Definition at line 31 of file ABISysV_riscv.cpp.
#define DEFINE_REG_NAME | ( | reg_num | ) | ConstString(#reg_num).GetCString() |
Definition at line 25 of file ABISysV_riscv.cpp.
#define DEFINE_REG_NAME_STR | ( | reg_name | ) | ConstString(reg_name).GetCString() |
Definition at line 26 of file ABISysV_riscv.cpp.
#define DEFINE_REGISTER_STUB | ( | dwarf_num, | |
str_name | |||
) | DEFINE_GENERIC_REGISTER_STUB(dwarf_num, str_name, LLDB_INVALID_REGNUM) |
Definition at line 39 of file ABISysV_riscv.cpp.
|
inlinestatic |
Definition at line 146 of file ABISysV_riscv.cpp.
References word_size.
Referenced by TotalArgsSizeInWords().
|
static |
Definition at line 742 of file ABISysV_riscv.cpp.
References LLDB_INVALID_REGNUM, LLDB_REGNUM_GENERIC_ARG1, LLDB_REGNUM_GENERIC_ARG2, LLDB_REGNUM_GENERIC_ARG3, LLDB_REGNUM_GENERIC_ARG4, LLDB_REGNUM_GENERIC_ARG5, LLDB_REGNUM_GENERIC_ARG6, LLDB_REGNUM_GENERIC_ARG7, LLDB_REGNUM_GENERIC_ARG8, LLDB_REGNUM_GENERIC_FP, LLDB_REGNUM_GENERIC_PC, LLDB_REGNUM_GENERIC_RA, and LLDB_REGNUM_GENERIC_SP.
Referenced by ABISysV_riscv::AugmentRegisterInfo().
|
static |
Definition at line 487 of file ABISysV_riscv.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::ArchSpec::eRISCV_float_abi_double, lldb_private::ArchSpec::eRISCV_float_abi_quad, lldb_private::ArchSpec::eRISCV_float_abi_single, lldb_private::ArchSpec::eRISCV_float_abi_soft, lldb_private::Value::GetScalar(), lldb_private::Thread::GetStackFrameAtIndex(), GetValObjFromIntRegs(), SetSizedFloat(), and lldb_private::Value::SetValueType().
Referenced by ABISysV_riscv::GetReturnValueObjectImpl(), and ABISysV_riscv::GetReturnValueObjectSimple().
|
static |
Definition at line 412 of file ABISysV_riscv.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb::eRegisterKindGeneric, error(), lldb_private::RegisterValue::GetAsMemoryData(), lldb_private::Thread::GetProcess(), lldb_private::Value::GetRegisterInfo(), lldb_private::Value::GetScalar(), lldb_private::Thread::GetStackFrameAtIndex(), LLDB_REGNUM_GENERIC_ARG1, LLDB_REGNUM_GENERIC_ARG2, lldb_private::Value::SetBytes(), SetSizedFloat(), SetSizedInteger(), lldb_private::Value::SetValueType(), and UINT32_MAX.
Referenced by ABISysV_riscv::GetReturnValueObjectImpl(), ABISysV_riscv::GetReturnValueObjectSimple(), and GetValObjFromFPRegs().
|
static |
Definition at line 360 of file ABISysV_riscv.cpp.
|
static |
Definition at line 394 of file ABISysV_riscv.cpp.
Referenced by GetValObjFromFPRegs(), and GetValObjFromIntRegs().
|
static |
Definition at line 368 of file ABISysV_riscv.cpp.
Referenced by GetValObjFromIntRegs().
|
static |
Definition at line 152 of file ABISysV_riscv.cpp.
References AugmentArgSize(), reg_size, lldb_private::ABI::CallArgument::TargetValue, and word_size.