#include "lldb/Target/ABI.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Value.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/Expression/ExpressionVariable.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "llvm/MC/TargetRegistry.h"
#include <cctype>
usingnamespacelldb;
usingnamespacelldb_private;
ABISP
ABI::FindPlugin(lldb::ProcessSP process_sp, const ArchSpec &arch) { … }
ABI::~ABI() = default;
bool RegInfoBasedABI::GetRegisterInfoByName(llvm::StringRef name,
RegisterInfo &info) { … }
ValueObjectSP ABI::GetReturnValueObject(Thread &thread, CompilerType &ast_type,
bool persistent) const { … }
addr_t ABI::FixCodeAddress(lldb::addr_t pc) { … }
addr_t ABI::FixDataAddress(lldb::addr_t pc) { … }
ValueObjectSP ABI::GetReturnValueObject(Thread &thread, llvm::Type &ast_type,
bool persistent) const { … }
lldb::ValueObjectSP ABI::GetReturnValueObjectImpl(Thread &thread,
llvm::Type &ir_type) const { … }
bool ABI::PrepareTrivialCall(Thread &thread, lldb::addr_t sp,
lldb::addr_t functionAddress,
lldb::addr_t returnAddress, llvm::Type &returntype,
llvm::ArrayRef<ABI::CallArgument> args) const { … }
bool ABI::GetFallbackRegisterLocation(
const RegisterInfo *reg_info,
UnwindPlan::Row::RegisterLocation &unwind_regloc) { … }
std::unique_ptr<llvm::MCRegisterInfo> ABI::MakeMCRegisterInfo(const ArchSpec &arch) { … }
void RegInfoBasedABI::AugmentRegisterInfo(
std::vector<DynamicRegisterInfo::Register> ®s) { … }
void MCBasedABI::AugmentRegisterInfo(
std::vector<DynamicRegisterInfo::Register> ®s) { … }
std::pair<uint32_t, uint32_t>
MCBasedABI::GetEHAndDWARFNums(llvm::StringRef name) { … }
void MCBasedABI::MapRegisterName(std::string &name, llvm::StringRef from_prefix,
llvm::StringRef to_prefix) { … }