LLDB
mainline
|
#include "DWARFLocationExpression.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/Section.h"
#include "lldb/Core/StreamBuffer.h"
#include "lldb/Expression/DWARFExpression.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "llvm/Support/Endian.h"
#include "PdbUtil.h"
#include "CodeViewRegisterMapping.h"
#include "PdbFPOProgramToDWARFExpression.h"
Go to the source code of this file.
Functions | |
uint32_t | GetGenericRegisterNumber (llvm::codeview::RegisterId register_id) |
static uint32_t | GetRegisterNumber (llvm::Triple::ArchType arch_type, llvm::codeview::RegisterId register_id, RegisterKind ®ister_kind) |
static bool | IsSimpleTypeSignedInteger (SimpleTypeKind kind) |
static std::pair< size_t, bool > | GetIntegralTypeInfo (TypeIndex ti, TpiStream &tpi) |
template<typename StreamWriter > | |
static DWARFExpression | MakeLocationExpressionInternal (lldb::ModuleSP module, StreamWriter &&writer) |
static DWARFExpression | MakeRegisterBasedLocationExpressionInternal (llvm::codeview::RegisterId reg, llvm::Optional< int32_t > relative_offset, lldb::ModuleSP module) |
static bool | EmitVFrameEvaluationDWARFExpression (llvm::StringRef program, llvm::Triple::ArchType arch_type, Stream &stream) |
|
static |
Definition at line 171 of file DWARFLocationExpression.cpp.
References lldb_private::npdb::TranslateFPOProgramToDWARFExpression().
Referenced by lldb_private::npdb::MakeVFrameRelLocationExpression().
uint32_t GetGenericRegisterNumber | ( | llvm::codeview::RegisterId | register_id | ) |
Definition at line 34 of file DWARFLocationExpression.cpp.
References LLDB_INVALID_REGNUM, and LLDB_REGNUM_GENERIC_FP.
Referenced by GetRegisterNumber().
|
static |
Definition at line 76 of file DWARFLocationExpression.cpp.
References lldb_private::npdb::GetTypeSizeForSimpleKind(), and IsSimpleTypeSignedInteger().
|
static |
Definition at line 41 of file DWARFLocationExpression.cpp.
References lldb::eRegisterKindGeneric, lldb::eRegisterKindLLDB, GetGenericRegisterNumber(), lldb_private::npdb::GetLLDBRegisterNumber(), and LLDB_INVALID_REGNUM.
Referenced by MakeRegisterBasedLocationExpressionInternal().
|
static |
Definition at line 53 of file DWARFLocationExpression.cpp.
Referenced by GetIntegralTypeInfo().
|
static |
Definition at line 107 of file DWARFLocationExpression.cpp.
References lldb::eByteOrderInvalid, lldb::eRegisterKindDWARF, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetByteOrder(), lldb_private::StreamBuffer< N >::GetData(), lldb_private::ArchSpec::GetDataByteSize(), lldb_private::StreamBuffer< N >::GetSize(), and lldb_private::DWARFExpression::SetRegisterKind().
Referenced by MakeRegisterBasedLocationExpressionInternal(), and lldb_private::npdb::MakeVFrameRelLocationExpression().
|
static |
Definition at line 131 of file DWARFLocationExpression.cpp.
References GetRegisterNumber(), LLDB_INVALID_REGNUM, MakeLocationExpressionInternal(), lldb_private::Stream::PutHex8(), lldb_private::Stream::PutSLEB128(), and lldb_private::Stream::PutULEB128().
Referenced by lldb_private::npdb::MakeEnregisteredLocationExpression(), and lldb_private::npdb::MakeRegRelLocationExpression().