[Support] Move ItaniumManglingCanonicalizer and SymbolRemappingReader from Support...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 6 Feb 2023 20:55:24 +0000 (20:55 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 6 Feb 2023 20:55:48 +0000 (20:55 +0000)
As mentioned on https://discourse.llvm.org/t/issues-in-llvm-tblgen-high-parallelized-build/68037, ItaniumManglingCanonicalizer is often slow to build, resulting in a bottleneck for distributed builds while waiting for LLVMSupport to complete.

SymbolRemappingReader is the only current user of ItaniumManglingCanonicalizer, and this is only used by ProfileData and llvm-cxxmap - so I propose we move both files into the ProfileData library.

Differential Revision: https://reviews.llvm.org/D143318

21 files changed:
clang/docs/tools/clang-formatted-files.txt
llvm/include/llvm/ProfileData/ItaniumManglingCanonicalizer.h [moved from llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h with 94% similarity]
llvm/include/llvm/ProfileData/SampleProfReader.h
llvm/include/llvm/ProfileData/SymbolRemappingReader.h [moved from llvm/include/llvm/Support/SymbolRemappingReader.h with 95% similarity]
llvm/lib/ProfileData/CMakeLists.txt
llvm/lib/ProfileData/InstrProfReader.cpp
llvm/lib/ProfileData/ItaniumManglingCanonicalizer.cpp [moved from llvm/lib/Support/ItaniumManglingCanonicalizer.cpp with 99% similarity]
llvm/lib/ProfileData/SymbolRemappingReader.cpp [moved from llvm/lib/Support/SymbolRemappingReader.cpp with 98% similarity]
llvm/lib/Support/CMakeLists.txt
llvm/tools/llvm-cxxmap/CMakeLists.txt
llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
llvm/unittests/ProfileData/CMakeLists.txt
llvm/unittests/ProfileData/ItaniumManglingCanonicalizerTest.cpp [moved from llvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp with 99% similarity]
llvm/unittests/ProfileData/SymbolRemappingReaderTest.cpp [moved from llvm/unittests/Support/SymbolRemappingReaderTest.cpp with 98% similarity]
llvm/unittests/Support/CMakeLists.txt
llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
llvm/utils/gn/secondary/llvm/tools/llvm-cxxmap/BUILD.gn
llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

index aa9b871..0cea492 100644 (file)
@@ -5444,8 +5444,10 @@ llvm/include/llvm/Passes/StandardInstrumentations.h
 llvm/include/llvm/ProfileData/GCOV.h
 llvm/include/llvm/ProfileData/InstrProfCorrelator.h
 llvm/include/llvm/ProfileData/InstrProfWriter.h
+llvm/include/llvm/ProfileData/ItaniumManglingCanonicalizer.h
 llvm/include/llvm/ProfileData/ProfileCommon.h
 llvm/include/llvm/ProfileData/RawMemProfReader.h
+llvm/include/llvm/ProfileData/SymbolRemappingReader.h
 llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
 llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
 llvm/include/llvm/Remarks/BitstreamRemarkContainer.h
@@ -5496,7 +5498,6 @@ llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h
 llvm/include/llvm/Support/HashBuilder.h
 llvm/include/llvm/Support/InitLLVM.h
 llvm/include/llvm/Support/InstructionCost.h
-llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h
 llvm/include/llvm/Support/MD5.h
 llvm/include/llvm/Support/MemAlloc.h
 llvm/include/llvm/Support/MemoryBufferRef.h
@@ -5518,7 +5519,6 @@ llvm/include/llvm/Support/SMLoc.h
 llvm/include/llvm/Support/SMTAPI.h
 llvm/include/llvm/Support/SourceMgr.h
 llvm/include/llvm/Support/SuffixTree.h
-llvm/include/llvm/Support/SymbolRemappingReader.h
 llvm/include/llvm/Support/SystemUtils.h
 llvm/include/llvm/TargetParser/TargetParser.h
 llvm/include/llvm/Support/TrailingObjects.h
@@ -7325,6 +7325,7 @@ llvm/unittests/Passes/TestPlugin.cpp
 llvm/unittests/Passes/TestPlugin.h
 llvm/unittests/ProfileData/InstrProfDataTest.cpp
 llvm/unittests/ProfileData/MemProfTest.cpp
+llvm/unittests/ProfileData/SymbolRemappingReaderTest.cpp
 llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp
 llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
 llvm/unittests/Remarks/RemarksLinkingTest.cpp
@@ -7357,7 +7358,6 @@ llvm/unittests/Support/ScaledNumberTest.cpp
 llvm/unittests/Support/ScopedPrinterTest.cpp
 llvm/unittests/Support/SHA256.cpp
 llvm/unittests/Support/SuffixTreeTest.cpp
-llvm/unittests/Support/SymbolRemappingReaderTest.cpp
 llvm/unittests/Support/TarWriterTest.cpp
 llvm/unittests/Support/ToolOutputFileTest.cpp
 llvm/unittests/Support/TypeTraitsTest.cpp
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_SUPPORT_ITANIUMMANGLINGCANONICALIZER_H
-#define LLVM_SUPPORT_ITANIUMMANGLINGCANONICALIZER_H
+#ifndef LLVM_PROFILEDATA_ITANIUMMANGLINGCANONICALIZER_H
+#define LLVM_PROFILEDATA_ITANIUMMANGLINGCANONICALIZER_H
 
 #include <cstdint>
 
@@ -90,4 +90,4 @@ private:
 };
 } // namespace llvm
 
-#endif // LLVM_SUPPORT_ITANIUMMANGLINGCANONICALIZER_H
+#endif // LLVM_PROFILEDATA_ITANIUMMANGLINGCANONICALIZER_H
index 703ca81..5e74bb2 100644 (file)
 #include "llvm/IR/ProfileSummary.h"
 #include "llvm/ProfileData/GCOV.h"
 #include "llvm/ProfileData/SampleProf.h"
+#include "llvm/ProfileData/SymbolRemappingReader.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/Discriminator.h"
 #include "llvm/Support/ErrorOr.h"
 #include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/SymbolRemappingReader.h"
 #include <cstdint>
 #include <list>
 #include <memory>
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_SUPPORT_SYMBOLREMAPPINGREADER_H
-#define LLVM_SUPPORT_SYMBOLREMAPPINGREADER_H
+#ifndef LLVM_PROFILEDATA_SYMBOLREMAPPINGREADER_H
+#define LLVM_PROFILEDATA_SYMBOLREMAPPINGREADER_H
 
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ProfileData/ItaniumManglingCanonicalizer.h"
 #include "llvm/Support/Error.h"
-#include "llvm/Support/ItaniumManglingCanonicalizer.h"
 
 namespace llvm {
 
@@ -130,4 +130,4 @@ private:
 
 } // end namespace llvm
 
-#endif // LLVM_SUPPORT_SYMBOLREMAPPINGREADER_H
+#endif // LLVM_PROFILEDATA_SYMBOLREMAPPINGREADER_H
index 3b4b30f..99617a4 100644 (file)
@@ -4,12 +4,14 @@ add_llvm_component_library(LLVMProfileData
   InstrProfCorrelator.cpp
   InstrProfReader.cpp
   InstrProfWriter.cpp
+  ItaniumManglingCanonicalizer.cpp
   MemProf.cpp
   ProfileSummaryBuilder.cpp
+  RawMemProfReader.cpp
   SampleProf.cpp
   SampleProfReader.cpp
   SampleProfWriter.cpp
-  RawMemProfReader.cpp
+  SymbolRemappingReader.cpp
 
   ADDITIONAL_HEADER_DIRS
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ProfileData
index fc348e3..1b9a2d7 100644 (file)
 #include "llvm/ProfileData/InstrProf.h"
 #include "llvm/ProfileData/MemProf.h"
 #include "llvm/ProfileData/ProfileCommon.h"
+#include "llvm/ProfileData/SymbolRemappingReader.h"
 #include "llvm/Support/Endian.h"
 #include "llvm/Support/Error.h"
 #include "llvm/Support/ErrorOr.h"
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/SwapByteOrder.h"
-#include "llvm/Support/SymbolRemappingReader.h"
 #include "llvm/Support/VirtualFileSystem.h"
 #include <algorithm>
 #include <cstddef>
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Support/ItaniumManglingCanonicalizer.h"
+#include "llvm/ProfileData/ItaniumManglingCanonicalizer.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/StringRef.h"
similarity index 98%
rename from llvm/lib/Support/SymbolRemappingReader.cpp
rename to llvm/lib/ProfileData/SymbolRemappingReader.cpp
index 0082696..78457be 100644 (file)
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Support/SymbolRemappingReader.h"
+#include "llvm/ProfileData/SymbolRemappingReader.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/Support/LineIterator.h"
index 7fb6621..774bc11 100644 (file)
@@ -175,7 +175,6 @@ add_llvm_component_library(LLVMSupport
   InstructionCost.cpp
   IntEqClasses.cpp
   IntervalMap.cpp
-  ItaniumManglingCanonicalizer.cpp
   JSON.cpp
   KnownBits.cpp
   LEB128.cpp
@@ -218,7 +217,6 @@ add_llvm_component_library(LLVMSupport
   StringSaver.cpp
   StringRef.cpp
   SuffixTree.cpp
-  SymbolRemappingReader.cpp
   SystemUtils.cpp
   TarWriter.cpp
   ThreadPool.cpp
index e180d3c..a74c777 100644 (file)
@@ -1,6 +1,7 @@
 set(LLVM_LINK_COMPONENTS
   Core
   Support
+  ProfileData
   )
 
 add_llvm_tool(llvm-cxxmap
index 1e18e37..6a56469 100644 (file)
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ProfileData/SymbolRemappingReader.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FileSystem.h"
 #include "llvm/Support/InitLLVM.h"
 #include "llvm/Support/LineIterator.h"
 #include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/SymbolRemappingReader.h"
 #include "llvm/Support/WithColor.h"
 #include "llvm/Support/raw_ostream.h"
 
index c75b0da..3fbdd85 100644 (file)
@@ -10,8 +10,10 @@ add_llvm_unittest(ProfileDataTests
   CoverageMappingTest.cpp
   InstrProfDataTest.cpp
   InstrProfTest.cpp
-  SampleProfTest.cpp
+  ItaniumManglingCanonicalizerTest.cpp
   MemProfTest.cpp
+  SampleProfTest.cpp
+  SymbolRemappingReaderTest.cpp
   )
 
 target_link_libraries(ProfileDataTests PRIVATE LLVMTestingSupport)
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Support/ItaniumManglingCanonicalizer.h"
+#include "llvm/ProfileData/ItaniumManglingCanonicalizer.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/StringRef.h"
 #include "gtest/gtest.h"
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Support/SymbolRemappingReader.h"
+#include "llvm/ProfileData/SymbolRemappingReader.h"
 #include "llvm/Support/MemoryBuffer.h"
 #include "gtest/gtest.h"
 
index 459b897..4a4f9f1 100644 (file)
@@ -46,7 +46,6 @@ add_llvm_unittest(SupportTests
   HashBuilderTest.cpp
   IndexedAccessorTest.cpp
   InstructionCostTest.cpp
-  ItaniumManglingCanonicalizerTest.cpp
   JSONTest.cpp
   KnownBitsTest.cpp
   LEB128Test.cpp
@@ -76,7 +75,6 @@ add_llvm_unittest(SupportTests
   SpecialCaseListTest.cpp
   SuffixTreeTest.cpp
   SwapByteOrderTest.cpp
-  SymbolRemappingReaderTest.cpp
   TarWriterTest.cpp
   TaskQueueTest.cpp
   ThreadPool.cpp
index 67b8705..51568ac 100644 (file)
@@ -14,11 +14,13 @@ static_library("ProfileData") {
     "InstrProfCorrelator.cpp",
     "InstrProfReader.cpp",
     "InstrProfWriter.cpp",
+    "ItaniumManglingCanonicalizer.cpp",
     "MemProf.cpp",
     "ProfileSummaryBuilder.cpp",
     "RawMemProfReader.cpp",
     "SampleProf.cpp",
     "SampleProfReader.cpp",
     "SampleProfWriter.cpp",
+    "SymbolRemappingReader.cpp",
   ]
 }
index d68e3f8..697fa05 100644 (file)
@@ -89,7 +89,6 @@ static_library("Support") {
     "InstructionCost.cpp",
     "IntEqClasses.cpp",
     "IntervalMap.cpp",
-    "ItaniumManglingCanonicalizer.cpp",
     "JSON.cpp",
     "KnownBits.cpp",
     "LEB128.cpp",
@@ -133,7 +132,6 @@ static_library("Support") {
     "StringRef.cpp",
     "StringSaver.cpp",
     "SuffixTree.cpp",
-    "SymbolRemappingReader.cpp",
     "SystemUtils.cpp",
     "TarWriter.cpp",
     "ThreadPool.cpp",
index adcb817..7322ca4 100644 (file)
@@ -1,6 +1,7 @@
 executable("llvm-cxxmap") {
   deps = [
     "//llvm/lib/IR",
+    "//llvm/lib/ProfileData",
     "//llvm/lib/Support",
     "//llvm/lib/Target:TargetsToBuild",
   ]
index a022c4c..3b55f8d 100644 (file)
@@ -11,7 +11,9 @@ unittest("ProfileDataTests") {
     "CoverageMappingTest.cpp",
     "InstrProfDataTest.cpp",
     "InstrProfTest.cpp",
+    "ItaniumManglingCanonicalizerTest.cpp",
     "MemProfTest.cpp",
     "SampleProfTest.cpp",
+    "SymbolRemappingReaderTest.cpp",
   ]
 }
index 0e91a39..5c9b75a 100644 (file)
@@ -49,7 +49,6 @@ unittest("SupportTests") {
     "HashBuilderTest.cpp",
     "IndexedAccessorTest.cpp",
     "InstructionCostTest.cpp",
-    "ItaniumManglingCanonicalizerTest.cpp",
     "JSONTest.cpp",
     "KnownBitsTest.cpp",
     "LEB128Test.cpp",
@@ -79,7 +78,6 @@ unittest("SupportTests") {
     "SpecialCaseListTest.cpp",
     "SuffixTreeTest.cpp",
     "SwapByteOrderTest.cpp",
-    "SymbolRemappingReaderTest.cpp",
     "TarWriterTest.cpp",
     "TaskQueueTest.cpp",
     "ThreadPool.cpp",
index 5920e55..dba2a76 100644 (file)
@@ -3188,6 +3188,7 @@ cc_binary(
     copts = llvm_copts,
     stamp = 0,
     deps = [
+        ":ProfileData",
         ":Support",
     ],
 )