This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG1bd258fd4e2c: [lldb] [DynamicRegisterInfo] Remove 
AddRegister() and make Finalize() protected (authored by mgorny).
Herald added a project: LLDB.

Changed prior to commit:
  https://reviews.llvm.org/D111498?vs=378469&id=382059#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111498/new/

https://reviews.llvm.org/D111498

Files:
  lldb/include/lldb/Target/DynamicRegisterInfo.h
  lldb/source/Target/DynamicRegisterInfo.cpp
  lldb/unittests/Target/DynamicRegisterInfoTest.cpp

Index: lldb/unittests/Target/DynamicRegisterInfoTest.cpp
===================================================================
--- lldb/unittests/Target/DynamicRegisterInfoTest.cpp
+++ lldb/unittests/Target/DynamicRegisterInfoTest.cpp
@@ -25,108 +25,6 @@
   return ret;
 }
 
-class DynamicRegisterInfoTest : public ::testing::Test {
-protected:
-  DynamicRegisterInfo info;
-  uint32_t next_regnum = 0;
-  ConstString group{"group"};
-
-  uint32_t AddTestRegister(const char *name, uint32_t byte_size,
-                           std::vector<uint32_t> value_regs = {},
-                           std::vector<uint32_t> invalidate_regs = {}) {
-    struct RegisterInfo new_reg {
-      name, nullptr, byte_size, LLDB_INVALID_INDEX32, lldb::eEncodingUint,
-          lldb::eFormatUnsigned,
-          {LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
-           next_regnum, next_regnum},
-          nullptr, nullptr
-    };
-
-    if (!value_regs.empty()) {
-      value_regs.push_back(LLDB_INVALID_REGNUM);
-      new_reg.value_regs = value_regs.data();
-    }
-    if (!invalidate_regs.empty()) {
-      invalidate_regs.push_back(LLDB_INVALID_REGNUM);
-      new_reg.invalidate_regs = invalidate_regs.data();
-    }
-
-    info.AddRegister(new_reg, group);
-    return next_regnum++;
-  }
-
-  void AssertRegisterInfo(uint32_t reg_num, const char *reg_name,
-                          uint32_t byte_offset,
-                          std::vector<uint32_t> value_regs = {},
-                          std::vector<uint32_t> invalidate_regs = {}) {
-    const RegisterInfo *reg = info.GetRegisterInfoAtIndex(reg_num);
-    EXPECT_NE(reg, nullptr);
-    if (!reg)
-      return;
-
-    EXPECT_STREQ(reg->name, reg_name);
-    EXPECT_EQ(reg->byte_offset, byte_offset);
-    EXPECT_THAT(regs_to_vector(reg->value_regs), value_regs);
-    EXPECT_THAT(regs_to_vector(reg->invalidate_regs), invalidate_regs);
-  }
-};
-
-#define ASSERT_REG(reg, ...)                                                   \
-  {                                                                            \
-    SCOPED_TRACE("at register " #reg);                                         \
-    AssertRegisterInfo(reg, #reg, __VA_ARGS__);                                \
-  }
-
-TEST_F(DynamicRegisterInfoTest, finalize_regs) {
-  // Add regular registers
-  uint32_t b1 = AddTestRegister("b1", 8);
-  uint32_t b2 = AddTestRegister("b2", 8);
-
-  // Add a few sub-registers
-  uint32_t s1 = AddTestRegister("s1", 4, {b1});
-  uint32_t s2 = AddTestRegister("s2", 4, {b2});
-
-  // Add a register with invalidate_regs
-  uint32_t i1 = AddTestRegister("i1", 8, {}, {b1});
-
-  // Add a register with indirect invalidate regs to be expanded
-  // TODO: why is it done conditionally to value_regs?
-  uint32_t i2 = AddTestRegister("i2", 4, {b2}, {i1});
-
-  info.Finalize(lldb_private::ArchSpec());
-
-  ASSERT_REG(b1, 0);
-  ASSERT_REG(b2, 8);
-  ASSERT_REG(s1, 0, {b1});
-  ASSERT_REG(s2, 8, {b2});
-  ASSERT_REG(i1, 16, {}, {b1});
-  ASSERT_REG(i2, 8, {b2}, {b1, i1});
-}
-
-TEST_F(DynamicRegisterInfoTest, no_finalize_regs) {
-  // Add regular registers
-  uint32_t b1 = AddTestRegister("b1", 8);
-  uint32_t b2 = AddTestRegister("b2", 8);
-
-  // Add a few sub-registers
-  uint32_t s1 = AddTestRegister("s1", 4, {b1});
-  uint32_t s2 = AddTestRegister("s2", 4, {b2});
-
-  // Add a register with invalidate_regs
-  uint32_t i1 = AddTestRegister("i1", 8, {}, {b1});
-
-  // Add a register with indirect invalidate regs to be expanded
-  // TODO: why is it done conditionally to value_regs?
-  uint32_t i2 = AddTestRegister("i2", 4, {b2}, {i1});
-
-  ASSERT_REG(b1, LLDB_INVALID_INDEX32);
-  ASSERT_REG(b2, LLDB_INVALID_INDEX32);
-  ASSERT_REG(s1, LLDB_INVALID_INDEX32);
-  ASSERT_REG(s2, LLDB_INVALID_INDEX32);
-  ASSERT_REG(i1, LLDB_INVALID_INDEX32);
-  ASSERT_REG(i2, LLDB_INVALID_INDEX32);
-}
-
 class DynamicRegisterInfoRegisterTest : public ::testing::Test {
 protected:
   std::vector<DynamicRegisterInfo::Register> m_regs;
Index: lldb/source/Target/DynamicRegisterInfo.cpp
===================================================================
--- lldb/source/Target/DynamicRegisterInfo.cpp
+++ lldb/source/Target/DynamicRegisterInfo.cpp
@@ -422,35 +422,6 @@
   return m_regs.size();
 }
 
-void DynamicRegisterInfo::AddRegister(RegisterInfo reg_info,
-                                      ConstString &set_name) {
-  assert(!m_finalized);
-  const uint32_t reg_num = m_regs.size();
-  assert(reg_info.name);
-  uint32_t i;
-  if (reg_info.value_regs) {
-    for (i = 0; reg_info.value_regs[i] != LLDB_INVALID_REGNUM; ++i)
-      m_value_regs_map[reg_num].push_back(reg_info.value_regs[i]);
-
-    // invalidate until Finalize() is called
-    reg_info.value_regs = nullptr;
-  }
-  if (reg_info.invalidate_regs) {
-    for (i = 0; reg_info.invalidate_regs[i] != LLDB_INVALID_REGNUM; ++i)
-      m_invalidate_regs_map[reg_num].push_back(reg_info.invalidate_regs[i]);
-
-    // invalidate until Finalize() is called
-    reg_info.invalidate_regs = nullptr;
-  }
-
-  m_regs.push_back(reg_info);
-  uint32_t set = GetRegisterSetIndexByName(set_name, true);
-  assert(set < m_sets.size());
-  assert(set < m_set_reg_nums.size());
-  assert(set < m_set_names.size());
-  m_set_reg_nums[set].push_back(reg_num);
-}
-
 void DynamicRegisterInfo::Finalize(const ArchSpec &arch) {
   if (m_finalized)
     return;
Index: lldb/include/lldb/Target/DynamicRegisterInfo.h
===================================================================
--- lldb/include/lldb/Target/DynamicRegisterInfo.h
+++ lldb/include/lldb/Target/DynamicRegisterInfo.h
@@ -57,11 +57,6 @@
   size_t SetRegisterInfo(std::vector<Register> &&regs,
                          const lldb_private::ArchSpec &arch);
 
-  void AddRegister(lldb_private::RegisterInfo reg_info,
-                   lldb_private::ConstString &set_name);
-
-  void Finalize(const lldb_private::ArchSpec &arch);
-
   size_t GetNumRegisters() const;
 
   size_t GetNumRegisterSets() const;
@@ -116,6 +111,8 @@
 
   void MoveFrom(DynamicRegisterInfo &&info);
 
+  void Finalize(const lldb_private::ArchSpec &arch);
+
   void ConfigureOffsets();
 
   reg_collection m_regs;
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to