mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-07-30 09:59:44 +00:00
add bolt support
This commit is contained in:
parent
d2c9c9a4e8
commit
40422bb78e
10
debian/bolt-X.Y.install.in
vendored
Normal file
10
debian/bolt-X.Y.install.in
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
usr/bin/llvm-bolt-@LLVM_VERSION@
|
||||||
|
usr/bin/llvm-bolt-heatmap-@LLVM_VERSION@
|
||||||
|
usr/bin/llvm-boltdiff-@LLVM_VERSION@
|
||||||
|
usr/bin/merge-fdata-@LLVM_VERSION@
|
||||||
|
usr/bin/perf2bolt-@LLVM_VERSION@
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bolt
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-bolt-heatmap
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/bin/llvm-boltdiff
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/bin/merge-fdata
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/bin/perf2bolt
|
19
debian/control
vendored
19
debian/control
vendored
@ -805,3 +805,22 @@ Description: Multi-Level Intermediate Representation library
|
|||||||
MLIR aims to address software fragmentation, improve compilation for
|
MLIR aims to address software fragmentation, improve compilation for
|
||||||
heterogeneous hardware, significantly reduce the cost of building domain
|
heterogeneous hardware, significantly reduce the cost of building domain
|
||||||
specific compilers, and aid in connecting existing compilers together.
|
specific compilers, and aid in connecting existing compilers together.
|
||||||
|
|
||||||
|
|
||||||
|
# ------------- bolt -------------
|
||||||
|
|
||||||
|
Package: bolt-15
|
||||||
|
Architecture: amd64 arm64
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-15-dev (= ${binary:Version}),
|
||||||
|
Pre-Depends: ${misc:Pre-Depends}
|
||||||
|
Description: Post-link optimizer
|
||||||
|
TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Package: libbolt-15-dev
|
||||||
|
Section: libdevel
|
||||||
|
Architecture: amd64 arm64
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||||
|
Description: Post-link optimizer
|
||||||
|
TODO
|
||||||
|
4
debian/libbolt-X.Y-dev.install.in
vendored
Normal file
4
debian/libbolt-X.Y-dev.install.in
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_hugify.a
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_instr.a
|
||||||
|
usr/lib/llvm-@LLVM_VERSION@/lib/libbolt_rt_instr_osx.a
|
||||||
|
|
14
debian/patches/bolt-disable-emit-relocs.patch
vendored
Normal file
14
debian/patches/bolt-disable-emit-relocs.patch
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Index: llvm-toolchain-15-15.0.0~+rc3/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.0~+rc3.orig/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.0~+rc3/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
@@ -9,6 +9,6 @@ add_bolt_tool(merge-fdata
|
||||||
|
set_target_properties(merge-fdata PROPERTIES FOLDER "BOLT")
|
||||||
|
|
||||||
|
# Emit relocations for BOLT meta test (bolt/test/runtime/meta-merge-fdata.test)
|
||||||
|
-if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE)
|
||||||
|
- target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs)
|
||||||
|
-endif()
|
||||||
|
+# if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE)
|
||||||
|
+# target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs)
|
||||||
|
+# endif()
|
177
debian/patches/bolt.patch
vendored
Normal file
177
debian/patches/bolt.patch
vendored
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Core/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Core/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Core/CMakeLists.txt
|
||||||
|
@@ -24,6 +24,7 @@ add_llvm_library(LLVMBOLTCore
|
||||||
|
ParallelUtilities.cpp
|
||||||
|
Relocation.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
LINK_LIBS
|
||||||
|
${LLVM_PTHREAD_LIB}
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Passes/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Passes/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Passes/CMakeLists.txt
|
||||||
|
@@ -46,6 +46,8 @@ add_llvm_library(LLVMBOLTPasses
|
||||||
|
VeneerElimination.cpp
|
||||||
|
RetpolineInsertion.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
LINK_LIBS
|
||||||
|
${LLVM_PTHREAD_LIB}
|
||||||
|
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Profile/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Profile/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Profile/CMakeLists.txt
|
||||||
|
@@ -7,6 +7,8 @@ add_llvm_library(LLVMBOLTProfile
|
||||||
|
YAMLProfileReader.cpp
|
||||||
|
YAMLProfileWriter.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
LINK_COMPONENTS
|
||||||
|
Support
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Rewrite/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Rewrite/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Rewrite/CMakeLists.txt
|
||||||
|
@@ -33,6 +33,8 @@ add_llvm_library(LLVMBOLTRewrite
|
||||||
|
MachORewriteInstance.cpp
|
||||||
|
RewriteInstance.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
LINK_LIBS
|
||||||
|
${LLVM_PTHREAD_LIB}
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/RuntimeLibs/CMakeLists.txt
|
||||||
|
@@ -10,6 +10,8 @@ add_llvm_library(LLVMBOLTRuntimeLibs
|
||||||
|
RuntimeLibrary.cpp
|
||||||
|
HugifyRuntimeLibrary.cpp
|
||||||
|
InstrumentationRuntimeLibrary.cpp
|
||||||
|
+
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(LLVMBOLTRuntimeLibs
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Target/AArch64/CMakeLists.txt
|
||||||
|
@@ -8,6 +8,8 @@ set(LLVM_LINK_COMPONENTS
|
||||||
|
add_llvm_library(LLVMBOLTTargetAArch64
|
||||||
|
AArch64MCPlusBuilder.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
DEPENDS
|
||||||
|
AArch64CommonTableGen
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Target/X86/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Target/X86/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Target/X86/CMakeLists.txt
|
||||||
|
@@ -11,6 +11,8 @@ add_llvm_library(LLVMBOLTTargetX86
|
||||||
|
X86MCPlusBuilder.cpp
|
||||||
|
X86MCSymbolizer.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
DEPENDS
|
||||||
|
X86CommonTableGen
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/lib/Utils/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/lib/Utils/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/lib/Utils/CMakeLists.txt
|
||||||
|
@@ -2,6 +2,8 @@ add_llvm_library(LLVMBOLTUtils
|
||||||
|
CommandLineOpts.cpp
|
||||||
|
Utils.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
LINK_LIBS
|
||||||
|
${LLVM_PTHREAD_LIB}
|
||||||
|
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/tools/driver/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/tools/driver/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/tools/driver/CMakeLists.txt
|
||||||
|
@@ -14,6 +14,8 @@ endif()
|
||||||
|
add_bolt_tool(llvm-bolt
|
||||||
|
llvm-bolt.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
DEPENDS
|
||||||
|
${BOLT_DRIVER_DEPS}
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/tools/heatmap/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/tools/heatmap/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/tools/heatmap/CMakeLists.txt
|
||||||
|
@@ -7,6 +7,7 @@ set(LLVM_LINK_COMPONENTS
|
||||||
|
|
||||||
|
add_bolt_tool(llvm-bolt-heatmap
|
||||||
|
heatmap.cpp
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(llvm-bolt-heatmap
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
|
||||||
|
@@ -5,4 +5,6 @@ set(LLVM_LINK_COMPONENTS
|
||||||
|
|
||||||
|
add_llvm_fuzzer(llvm-bolt-fuzzer
|
||||||
|
llvm-bolt-fuzzer.cpp
|
||||||
|
+
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/tools/merge-fdata/CMakeLists.txt
|
||||||
|
@@ -3,6 +3,8 @@ set(LLVM_LINK_COMPONENTS Support)
|
||||||
|
add_bolt_tool(merge-fdata
|
||||||
|
merge-fdata.cpp
|
||||||
|
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
+
|
||||||
|
DEPENDS
|
||||||
|
intrinsics_gen
|
||||||
|
)
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/unittests/Core/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/unittests/Core/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/unittests/Core/CMakeLists.txt
|
||||||
|
@@ -9,6 +9,8 @@ add_bolt_unittest(CoreTests
|
||||||
|
BinaryContext.cpp
|
||||||
|
MCPlusBuilder.cpp
|
||||||
|
DynoStats.cpp
|
||||||
|
+
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(CoreTests
|
||||||
|
Index: llvm-toolchain-15-15.0.1/bolt/unittests/Profile/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-15-15.0.1.orig/bolt/unittests/Profile/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-15-15.0.1/bolt/unittests/Profile/CMakeLists.txt
|
||||||
|
@@ -1,5 +1,7 @@
|
||||||
|
add_bolt_unittest(ProfileTests
|
||||||
|
DataAggregator.cpp
|
||||||
|
+
|
||||||
|
+ DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(ProfileTests
|
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -143,3 +143,5 @@ revert-update-doc.diff
|
|||||||
unwind-force-pthread-dl.diff
|
unwind-force-pthread-dl.diff
|
||||||
force-sse2-compiler-rt.diff
|
force-sse2-compiler-rt.diff
|
||||||
fix-typo-1018770.diff
|
fix-typo-1018770.diff
|
||||||
|
bolt.patch
|
||||||
|
bolt-disable-emit-relocs.patch
|
||||||
|
5
debian/rules
vendored
5
debian/rules
vendored
@ -268,6 +268,11 @@ ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
BOLT_ARCHS := amd64 arm64
|
||||||
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(BOLT_ARCHS)))
|
||||||
|
PROJECTS += ;bolt
|
||||||
|
endif
|
||||||
|
|
||||||
CODECOVERAGE=no
|
CODECOVERAGE=no
|
||||||
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||||
# enable the code coverage
|
# enable the code coverage
|
||||||
|
Loading…
Reference in New Issue
Block a user