[llvm] 56709b8 - [TextAPI] add symbol name prefixes to central location, NFC

Cyndy Ishida via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 11:24:04 PDT 2021


Author: Cyndy Ishida
Date: 2021-06-23T11:21:00-07:00
New Revision: 56709b869570f7825d335d633bc829511980c253

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

LOG: [TextAPI] add symbol name prefixes to central location, NFC

These prefixes are used for printing the symbols coming from tbd files
and they were redundant across locations

Added: 
    

Modified: 
    llvm/include/llvm/TextAPI/Symbol.h
    llvm/lib/Object/TapiFile.cpp
    llvm/tools/llvm-tapi-diff/DiffEngine.cpp
    llvm/tools/llvm-tapi-diff/DiffEngine.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/TextAPI/Symbol.h b/llvm/include/llvm/TextAPI/Symbol.h
index 84fd83ae8e04a..02f184d2502f9 100644
--- a/llvm/include/llvm/TextAPI/Symbol.h
+++ b/llvm/include/llvm/TextAPI/Symbol.h
@@ -53,6 +53,12 @@ enum class SymbolKind : uint8_t {
   ObjectiveCInstanceVariable,
 };
 
+constexpr StringLiteral ObjC1ClassNamePrefix = ".objc_class_name_";
+constexpr StringLiteral ObjC2ClassNamePrefix = "_OBJC_CLASS_$_";
+constexpr StringLiteral ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_";
+constexpr StringLiteral ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_";
+constexpr StringLiteral ObjC2IVarPrefix = "_OBJC_IVAR_$_";
+
 using TargetList = SmallVector<Target, 5>;
 class Symbol {
 public:

diff  --git a/llvm/lib/Object/TapiFile.cpp b/llvm/lib/Object/TapiFile.cpp
index 7a361990ba5d2..6b576260bdb14 100644
--- a/llvm/lib/Object/TapiFile.cpp
+++ b/llvm/lib/Object/TapiFile.cpp
@@ -14,17 +14,12 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Object/Error.h"
 #include "llvm/Support/MemoryBuffer.h"
+#include "llvm/TextAPI/Symbol.h"
 
 using namespace llvm;
 using namespace MachO;
 using namespace object;
 
-static constexpr StringLiteral ObjC1ClassNamePrefix = ".objc_class_name_";
-static constexpr StringLiteral ObjC2ClassNamePrefix = "_OBJC_CLASS_$_";
-static constexpr StringLiteral ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_";
-static constexpr StringLiteral ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_";
-static constexpr StringLiteral ObjC2IVarPrefix = "_OBJC_IVAR_$_";
-
 static uint32_t getFlags(const Symbol *Sym) {
   uint32_t Flags = BasicSymbolRef::SF_Global;
   if (Sym->isUndefined())

diff  --git a/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp b/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
index b766cf14380fc..481d35fce36a6 100644
--- a/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
+++ b/llvm/tools/llvm-tapi-
diff /DiffEngine.cpp
@@ -14,6 +14,7 @@
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/TextAPI/InterfaceFile.h"
+#include "llvm/TextAPI/Symbol.h"
 #include "llvm/TextAPI/Target.h"
 
 using namespace llvm;
@@ -59,16 +60,16 @@ DiffScalarVal<bool, AD_Diff_Scalar_Bool>::print(raw_ostream &OS,
 
 } // end namespace llvm
 
-std::string SymScalar::stringifySymbolKind(MachO::SymbolKind Kind) {
+StringLiteral SymScalar::getSymbolNamePrefix(MachO::SymbolKind Kind) {
   switch (Kind) {
   case MachO::SymbolKind::GlobalSymbol:
     return "";
   case MachO::SymbolKind::ObjectiveCClass:
-    return "_OBJC_METACLASS_$_";
+    return ObjC2MetaClassNamePrefix;
   case MachO::SymbolKind ::ObjectiveCClassEHType:
-    return "_OBJC_EHTYPE_$_";
+    return ObjC2EHTypePrefix;
   case MachO::SymbolKind ::ObjectiveCInstanceVariable:
-    return "_OBJC_IVAR_$_";
+    return ObjC2IVarPrefix;
   }
   llvm_unreachable("Unknown llvm::MachO::SymbolKind enum");
 }
@@ -96,15 +97,16 @@ void SymScalar::print(raw_ostream &OS, std::string Indent, MachO::Target Targ) {
     if (Targ.Arch == MachO::AK_i386 &&
         Targ.Platform == MachO::PlatformKind::macOS) {
       OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
-         << ".objc_class_name_" << Val->getName()
+         << ObjC1ClassNamePrefix << Val->getName()
          << getFlagString(Val->getFlags()) << "\n";
       return;
     }
-    OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ") << "_OBJC_CLASS_$_"
-       << Val->getName() << getFlagString(Val->getFlags()) << "\n";
+    OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
+       << ObjC2ClassNamePrefix << Val->getName()
+       << getFlagString(Val->getFlags()) << "\n";
   }
   OS << Indent << "\t\t" << ((Order == lhs) ? "< " : "> ")
-     << stringifySymbolKind(Val->getKind()) << Val->getName()
+     << getSymbolNamePrefix(Val->getKind()) << Val->getName()
      << getFlagString(Val->getFlags()) << "\n";
 }
 

diff  --git a/llvm/tools/llvm-tapi-
diff /DiffEngine.h b/llvm/tools/llvm-tapi-
diff /DiffEngine.h
index eea6c70885ab0..252fbd87c6374 100644
--- a/llvm/tools/llvm-tapi-
diff /DiffEngine.h
+++ b/llvm/tools/llvm-tapi-
diff /DiffEngine.h
@@ -99,7 +99,7 @@ class SymScalar {
   /// The order is the file from which the 
diff  is found.
   InterfaceInputOrder Order;
   const MachO::Symbol *Val;
-  std::string stringifySymbolKind(MachO::SymbolKind Kind);
+  StringLiteral getSymbolNamePrefix(MachO::SymbolKind Kind);
   std::string stringifySymbolFlag(MachO::SymbolFlags Flag);
 };
 


        


More information about the llvm-commits mailing list