mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-07-27 09:50:53 +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
|
||||
heterogeneous hardware, significantly reduce the cost of building domain
|
||||
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
|
||||
force-sse2-compiler-rt.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
|
||||
|
||||
BOLT_ARCHS := amd64 arm64
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH),$(BOLT_ARCHS)))
|
||||
PROJECTS += ;bolt
|
||||
endif
|
||||
|
||||
CODECOVERAGE=no
|
||||
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||
# enable the code coverage
|
||||
|
Loading…
Reference in New Issue
Block a user