[llvm] Move a lot of symbol code to use the symbol string pool (PR #115796)

via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 27 22:52:38 PST 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 2918a47f421b3d41eb54dbd8751c6e8df2adbe23 1aed6c4e0e7ba7b544a32af4484ba41a94612622 --extensions h,cpp -- bolt/include/bolt/Core/BinaryContext.h bolt/lib/Core/BinaryContext.cpp bolt/lib/Rewrite/DWARFRewriter.cpp bolt/lib/Rewrite/JITLinkLinker.cpp bolt/lib/Rewrite/MachORewriteInstance.cpp bolt/lib/Rewrite/RewriteInstance.cpp bolt/unittests/Core/BinaryContext.cpp bolt/unittests/Core/MCPlusBuilder.cpp llvm/include/llvm/ExecutionEngine/JITLink/COFF.h llvm/include/llvm/ExecutionEngine/JITLink/COFF_x86_64.h llvm/include/llvm/ExecutionEngine/JITLink/ELF.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_i386.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_loongarch.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_ppc64.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_riscv.h llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h llvm/include/llvm/ExecutionEngine/JITLink/MachO.h llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h llvm/include/llvm/ExecutionEngine/JITLink/TableManager.h llvm/include/llvm/ExecutionEngine/Orc/Core.h llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h llvm/lib/ExecutionEngine/JITLink/COFF.cpp llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp llvm/lib/ExecutionEngine/JITLink/ELF.cpp llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp llvm/lib/ExecutionEngine/JITLink/ELF_ppc64.cpp llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp llvm/lib/ExecutionEngine/JITLink/JITLink.cpp llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp llvm/lib/ExecutionEngine/JITLink/MachO.cpp llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp llvm/lib/ExecutionEngine/JITLink/PerGraphGOTAndPLTStubsBuilder.h llvm/lib/ExecutionEngine/JITLink/aarch32.cpp llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp llvm/lib/ExecutionEngine/Orc/SectCreate.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h llvm/tools/llvm-jitlink/llvm-jitlink.cpp llvm/tools/llvm-jitlink/llvm-jitlink.h llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp llvm/unittests/ExecutionEngine/JITLink/EHFrameSupportTests.cpp llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/bolt/include/bolt/Core/BinaryContext.h b/bolt/include/bolt/Core/BinaryContext.h
index 59380c278c..115e59ca06 100644
--- a/bolt/include/bolt/Core/BinaryContext.h
+++ b/bolt/include/bolt/Core/BinaryContext.h
@@ -277,11 +277,10 @@ class BinaryContext {
   void deregisterSectionName(const BinarySection &Section);
 
 public:
-  static Expected<std::unique_ptr<BinaryContext>>
-  createBinaryContext(Triple TheTriple, std::shared_ptr<orc::SymbolStringPool> SSP,
-                      StringRef InputFileName, SubtargetFeatures *Features,
-                      bool IsPIC, std::unique_ptr<DWARFContext> DwCtx,
-                      JournalingStreams Logger);
+  static Expected<std::unique_ptr<BinaryContext>> createBinaryContext(
+      Triple TheTriple, std::shared_ptr<orc::SymbolStringPool> SSP,
+      StringRef InputFileName, SubtargetFeatures *Features, bool IsPIC,
+      std::unique_ptr<DWARFContext> DwCtx, JournalingStreams Logger);
 
   /// Superset of compiler units that will contain overwritten code that needs
   /// new debug info. In a few cases, functions may end up not being
@@ -632,7 +631,7 @@ public:
   std::unique_ptr<DWARFContext> DwCtx;
 
   std::unique_ptr<Triple> TheTriple;
-  
+
   std::shared_ptr<orc::SymbolStringPool> SSP;
 
   const Target *TheTarget;
diff --git a/bolt/lib/Core/BinaryContext.cpp b/bolt/lib/Core/BinaryContext.cpp
index 61e1856ecf..68711f68a7 100644
--- a/bolt/lib/Core/BinaryContext.cpp
+++ b/bolt/lib/Core/BinaryContext.cpp
@@ -137,7 +137,7 @@ BinaryContext::BinaryContext(std::unique_ptr<MCContext> Ctx,
                              std::unique_ptr<MCDisassembler> DisAsm,
                              JournalingStreams Logger)
     : Ctx(std::move(Ctx)), DwCtx(std::move(DwCtx)),
-      TheTriple(std::move(TheTriple)), SSP(SSP), TheTarget(TheTarget), 
+      TheTriple(std::move(TheTriple)), SSP(SSP), TheTarget(TheTarget),
       TripleName(TripleName), MCE(std::move(MCE)), MOFI(std::move(MOFI)),
       AsmInfo(std::move(AsmInfo)), MII(std::move(MII)), STI(std::move(STI)),
       InstPrinter(std::move(InstPrinter)), MIA(std::move(MIA)),
diff --git a/bolt/lib/Rewrite/JITLinkLinker.cpp b/bolt/lib/Rewrite/JITLinkLinker.cpp
index 1bd0aa391f..1d6f842843 100644
--- a/bolt/lib/Rewrite/JITLinkLinker.cpp
+++ b/bolt/lib/Rewrite/JITLinkLinker.cpp
@@ -169,7 +169,7 @@ struct JITLinkLinker::Context : jitlink::JITLinkContext {
       SymbolInfo Info{Symbol->getAddress().getValue(), Symbol->getSize()};
       auto Name = Symbol->getName();
       std::string NameStr("");
-      if(Name)
+      if (Name)
         NameStr = (*Name).str();
       Linker.Symtab.insert({NameStr, Info});
     }
diff --git a/bolt/unittests/Core/MCPlusBuilder.cpp b/bolt/unittests/Core/MCPlusBuilder.cpp
index c80f7e5ffd..5488cae366 100644
--- a/bolt/unittests/Core/MCPlusBuilder.cpp
+++ b/bolt/unittests/Core/MCPlusBuilder.cpp
@@ -58,7 +58,8 @@ protected:
   void initializeBolt() {
     Relocation::Arch = ObjFile->makeTriple().getArch();
     BC = cantFail(BinaryContext::createBinaryContext(
-        ObjFile->makeTriple(), std::make_shared<orc::SymbolStringPool>(), ObjFile->getFileName(), nullptr, true,
+        ObjFile->makeTriple(), std::make_shared<orc::SymbolStringPool>(),
+        ObjFile->getFileName(), nullptr, true,
         DWARFContext::create(*ObjFile.get()), {llvm::outs(), llvm::errs()}));
     ASSERT_FALSE(!BC);
     BC->initializeTarget(std::unique_ptr<MCPlusBuilder>(
diff --git a/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h b/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
index ef8de2d2a3..c40773ade7 100644
--- a/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
+++ b/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
@@ -471,8 +471,8 @@ private:
     assert((Offset + Size) <= Base.getSize() &&
            "Symbol extends past end of block");
     auto *Sym = Allocator.Allocate<Symbol>();
-    new (Sym) Symbol(Base, Offset, nullptr, Size,
-                     Linkage::Strong, Scope::Local, IsLive, IsCallable);
+    new (Sym) Symbol(Base, Offset, nullptr, Size, Linkage::Strong, Scope::Local,
+                     IsLive, IsCallable);
     return *Sym;
   }
 
diff --git a/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp b/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
index f81328733a..fcbf6c0a3e 100644
--- a/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
@@ -29,8 +29,8 @@ public:
   MachOLinkGraphBuilder_arm64(const object::MachOObjectFile &Obj,
                               std::shared_ptr<orc::SymbolStringPool> SSP,
                               SubtargetFeatures Features)
-      : MachOLinkGraphBuilder(Obj, SSP, getObjectTriple(Obj), std::move(Features),
-                              aarch64::getEdgeKindName),
+      : MachOLinkGraphBuilder(Obj, SSP, getObjectTriple(Obj),
+                              std::move(Features), aarch64::getEdgeKindName),
         NumSymbols(Obj.getSymtabLoadCommand().nsyms) {}
 
 private:
diff --git a/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp b/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
index 5eb82c0fdb..2bcda69c64 100644
--- a/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
@@ -27,8 +27,8 @@ void JITLinkRedirectableSymbolManager::emitRedirectableSymbols(
   Triple TT = ES.getTargetTriple();
 
   auto G = std::make_unique<jitlink::LinkGraph>(
-      ("<indirect stubs graph #" + Twine(++StubGraphIdx) + ">").str(),ES.getSymbolStringPool(), TT,
-      TT.isArch64Bit() ? 8 : 4,
+      ("<indirect stubs graph #" + Twine(++StubGraphIdx) + ">").str(),
+      ES.getSymbolStringPool(), TT, TT.isArch64Bit() ? 8 : 4,
       TT.isLittleEndian() ? endianness::little : endianness::big,
       jitlink::getGenericEdgeKindName);
   auto &PointerSection =

``````````

</details>


https://github.com/llvm/llvm-project/pull/115796


More information about the llvm-commits mailing list