diff options
author | Zachary Turner <zturner@google.com> | 2017-02-14 19:06:07 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-02-14 19:06:07 +0000 |
commit | 01c3243fc1a20b5ddcb464a3183e5fd904d695a4 (patch) | |
tree | 7e6814381873b72f5f31e2e338a1ed6b1766b1ae /lldb/source/Utility/RegisterNumber.cpp | |
parent | 0ce53e4b9f9d5ab61acbb05edce4bf56d39ee9ec (diff) | |
download | bcm5719-llvm-01c3243fc1a20b5ddcb464a3183e5fd904d695a4.tar.gz bcm5719-llvm-01c3243fc1a20b5ddcb464a3183e5fd904d695a4.zip |
Remove dependencies from Utility to Core and Target.
With this patch, the only dependency left is from Utility
to Host. After this is broken, Utility will finally be
standalone.
Differential Revision: https://reviews.llvm.org/D29909
llvm-svn: 295088
Diffstat (limited to 'lldb/source/Utility/RegisterNumber.cpp')
-rw-r--r-- | lldb/source/Utility/RegisterNumber.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/lldb/source/Utility/RegisterNumber.cpp b/lldb/source/Utility/RegisterNumber.cpp deleted file mode 100644 index 07dd223f630..00000000000 --- a/lldb/source/Utility/RegisterNumber.cpp +++ /dev/null @@ -1,119 +0,0 @@ -//===--------------------- RegisterNumber.cpp -------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "lldb/Utility/RegisterNumber.h" -#include "lldb/Target/RegisterContext.h" -#include "lldb/Target/Thread.h" - -using namespace lldb_private; - -RegisterNumber::RegisterNumber(lldb_private::Thread &thread, - lldb::RegisterKind kind, uint32_t num) - : m_reg_ctx_sp(thread.GetRegisterContext()), m_regnum(num), m_kind(kind), - m_kind_regnum_map(), m_name("") { - if (m_reg_ctx_sp.get()) { - const lldb_private::RegisterInfo *reginfo = - m_reg_ctx_sp->GetRegisterInfoAtIndex( - GetAsKind(lldb::eRegisterKindLLDB)); - if (reginfo && reginfo->name) { - m_name = reginfo->name; - } - } -} - -RegisterNumber::RegisterNumber() - : m_reg_ctx_sp(), m_regnum(LLDB_INVALID_REGNUM), - m_kind(lldb::kNumRegisterKinds), m_kind_regnum_map(), m_name(nullptr) {} - -void RegisterNumber::init(lldb_private::Thread &thread, lldb::RegisterKind kind, - uint32_t num) { - m_reg_ctx_sp = thread.GetRegisterContext(); - m_regnum = num; - m_kind = kind; - if (m_reg_ctx_sp.get()) { - const lldb_private::RegisterInfo *reginfo = - m_reg_ctx_sp->GetRegisterInfoAtIndex( - GetAsKind(lldb::eRegisterKindLLDB)); - if (reginfo && reginfo->name) { - m_name = reginfo->name; - } - } -} - -const RegisterNumber &RegisterNumber::operator=(const RegisterNumber &rhs) { - m_reg_ctx_sp = rhs.m_reg_ctx_sp; - m_regnum = rhs.m_regnum; - m_kind = rhs.m_kind; - for (auto it : rhs.m_kind_regnum_map) - m_kind_regnum_map[it.first] = it.second; - m_name = rhs.m_name; - return *this; -} - -bool RegisterNumber::operator==(RegisterNumber &rhs) { - if (IsValid() != rhs.IsValid()) - return false; - - if (m_kind == rhs.m_kind) { - if (m_regnum == rhs.m_regnum) - return true; - else - return false; - } - - uint32_t rhs_regnum = rhs.GetAsKind(m_kind); - if (rhs_regnum != LLDB_INVALID_REGNUM) { - if (m_regnum == rhs_regnum) - return true; - else - return false; - } - uint32_t lhs_regnum = GetAsKind(rhs.m_kind); - { - if (lhs_regnum == rhs.m_regnum) - return true; - else - return false; - } - return false; -} - -bool RegisterNumber::operator!=(RegisterNumber &rhs) { return !(*this == rhs); } - -bool RegisterNumber::IsValid() const { - return m_reg_ctx_sp.get() && m_kind != lldb::kNumRegisterKinds && - m_regnum != LLDB_INVALID_REGNUM; -} - -uint32_t RegisterNumber::GetAsKind(lldb::RegisterKind kind) { - if (m_regnum == LLDB_INVALID_REGNUM) - return LLDB_INVALID_REGNUM; - - if (kind == m_kind) - return m_regnum; - - Collection::iterator iter = m_kind_regnum_map.find(kind); - if (iter != m_kind_regnum_map.end()) { - return iter->second; - } - uint32_t output_regnum = LLDB_INVALID_REGNUM; - if (m_reg_ctx_sp && - m_reg_ctx_sp->ConvertBetweenRegisterKinds(m_kind, m_regnum, kind, - output_regnum) && - output_regnum != LLDB_INVALID_REGNUM) { - m_kind_regnum_map[kind] = output_regnum; - } - return output_regnum; -} - -uint32_t RegisterNumber::GetRegisterNumber() const { return m_regnum; } - -lldb::RegisterKind RegisterNumber::GetRegisterKind() const { return m_kind; } - -const char *RegisterNumber::GetName() { return m_name; } |