[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