summaryrefslogtreecommitdiffstats
path: root/lldb/source/Utility/RegisterNumber.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-02-14 19:06:07 +0000
committerZachary Turner <zturner@google.com>2017-02-14 19:06:07 +0000
commit01c3243fc1a20b5ddcb464a3183e5fd904d695a4 (patch)
tree7e6814381873b72f5f31e2e338a1ed6b1766b1ae /lldb/source/Utility/RegisterNumber.cpp
parent0ce53e4b9f9d5ab61acbb05edce4bf56d39ee9ec (diff)
downloadbcm5719-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.cpp119
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; }
OpenPOWER on IntegriCloud