[Lldb-commits] [lldb] ff85dcb - [lldb] Remove PlatformDarwin::GetCompatibleArch helper

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Sat Jan 15 09:51:22 PST 2022


Author: Jonas Devlieghere
Date: 2022-01-15T09:51:16-08:00
New Revision: ff85dcb1c5b01411a6f9f2dc4c0e087467411f50

URL: https://github.com/llvm/llvm-project/commit/ff85dcb1c5b01411a6f9f2dc4c0e087467411f50
DIFF: https://github.com/llvm/llvm-project/commit/ff85dcb1c5b01411a6f9f2dc4c0e087467411f50.diff

LOG: [lldb] Remove PlatformDarwin::GetCompatibleArch helper

This also removes the corresponding unit tests. I wrote them to sanity
check my original refactoring and checked them in because why not. The
current implementation, without the added complexity of indices, is
simple enough that we can do without it.

Added: 
    

Modified: 
    lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    lldb/unittests/Platform/PlatformDarwinTest.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
index 29d2d8213601..461a21f44421 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
@@ -631,15 +631,6 @@ static llvm::ArrayRef<const char *> GetCompatibleArchs(ArchSpec::Core core) {
   return {};
 }
 
-const char *PlatformDarwin::GetCompatibleArch(ArchSpec::Core core, size_t idx) {
-  llvm::ArrayRef<const char *> compatible_archs = GetCompatibleArchs(core);
-  if (!compatible_archs.data())
-    return nullptr;
-  if (idx < compatible_archs.size())
-    return compatible_archs[idx];
-  return nullptr;
-}
-
 /// The architecture selection rules for arm processors These cpu subtypes have
 /// distinct names (e.g. armv7f) but armv7 binaries run fine on an armv7f
 /// processor.
@@ -647,12 +638,9 @@ void PlatformDarwin::ARMGetSupportedArchitectures(
     std::vector<ArchSpec> &archs, llvm::Optional<llvm::Triple::OSType> os) {
   const ArchSpec system_arch = GetSystemArchitecture();
   const ArchSpec::Core system_core = system_arch.GetCore();
-
-  const char *compatible_arch;
-  for (unsigned idx = 0;
-       (compatible_arch = GetCompatibleArch(system_core, idx)); ++idx) {
+  for (const char *arch : GetCompatibleArchs(system_core)) {
     llvm::Triple triple;
-    triple.setArchName(compatible_arch);
+    triple.setArchName(arch);
     triple.setVendor(llvm::Triple::VendorType::Apple);
     if (os)
       triple.setOS(*os);

diff  --git a/lldb/unittests/Platform/PlatformDarwinTest.cpp b/lldb/unittests/Platform/PlatformDarwinTest.cpp
index 73a0b37fbc77..285dc2ee3db7 100644
--- a/lldb/unittests/Platform/PlatformDarwinTest.cpp
+++ b/lldb/unittests/Platform/PlatformDarwinTest.cpp
@@ -20,7 +20,6 @@ using namespace lldb_private;
 struct PlatformDarwinTester : public PlatformDarwin {
 public:
   using PlatformDarwin::FindComponentInPath;
-  using PlatformDarwin::GetCompatibleArch;
 };
 
 TEST(PlatformDarwinTest, TestParseVersionBuildDir) {
@@ -67,95 +66,3 @@ TEST(PlatformDarwinTest, FindComponentInPath) {
   EXPECT_EQ("",
             PlatformDarwinTester::FindComponentInPath("/path/to/foo", "bar"));
 }
-
-TEST(PlatformDarwinTest, GetCompatibleArchARM64) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_arm64;
-  EXPECT_STREQ("arm64", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("armv4", PlatformDarwinTester::GetCompatibleArch(core, 10));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 11));
-  EXPECT_STREQ("thumbv7", PlatformDarwinTester::GetCompatibleArch(core, 12));
-  EXPECT_STREQ("thumbv4t", PlatformDarwinTester::GetCompatibleArch(core, 21));
-  EXPECT_STREQ("thumb", PlatformDarwinTester::GetCompatibleArch(core, 22));
-  EXPECT_EQ(nullptr, PlatformDarwinTester::GetCompatibleArch(core, 23));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7f) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7f;
-  EXPECT_STREQ("armv7f", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 6));
-  EXPECT_STREQ("thumbv7f", PlatformDarwinTester::GetCompatibleArch(core, 7));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7k) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7k;
-  EXPECT_STREQ("armv7k", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 6));
-  EXPECT_STREQ("thumbv7k", PlatformDarwinTester::GetCompatibleArch(core, 7));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7s) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7s;
-  EXPECT_STREQ("armv7s", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 6));
-  EXPECT_STREQ("thumbv7s", PlatformDarwinTester::GetCompatibleArch(core, 7));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7m) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7m;
-  EXPECT_STREQ("armv7m", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 6));
-  EXPECT_STREQ("thumbv7m", PlatformDarwinTester::GetCompatibleArch(core, 7));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7em) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7em;
-  EXPECT_STREQ("armv7em", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 6));
-  EXPECT_STREQ("thumbv7em", PlatformDarwinTester::GetCompatibleArch(core, 7));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv7) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv7;
-  EXPECT_STREQ("armv7", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv6m", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 5));
-  EXPECT_STREQ("thumbv7", PlatformDarwinTester::GetCompatibleArch(core, 6));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv6m) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv6m;
-  EXPECT_STREQ("armv6m", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv6", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 4));
-  EXPECT_STREQ("thumbv6m", PlatformDarwinTester::GetCompatibleArch(core, 5));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv6) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv6;
-  EXPECT_STREQ("armv6", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv5", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 3));
-  EXPECT_STREQ("thumbv6", PlatformDarwinTester::GetCompatibleArch(core, 4));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv5) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv5;
-  EXPECT_STREQ("armv5", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("armv4", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 2));
-  EXPECT_STREQ("thumbv5", PlatformDarwinTester::GetCompatibleArch(core, 3));
-}
-
-TEST(PlatformDarwinTest, GetCompatibleArchARMv4) {
-  const ArchSpec::Core core = ArchSpec::eCore_arm_armv4;
-  EXPECT_STREQ("armv4", PlatformDarwinTester::GetCompatibleArch(core, 0));
-  EXPECT_STREQ("arm", PlatformDarwinTester::GetCompatibleArch(core, 1));
-  EXPECT_STREQ("thumbv4t", PlatformDarwinTester::GetCompatibleArch(core, 2));
-  EXPECT_STREQ("thumb", PlatformDarwinTester::GetCompatibleArch(core, 3));
-}


        


More information about the lldb-commits mailing list