Accepting request 1059871 from devel:tools:compiler
- Update to version 15.0.7. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Build stage 2 with -fno-plt on x86_64: since building with -Wl,-z,now the PLT stubs are basically dead code, so eliminating the indirection reduces the number of branches and improves code locality for the quite frequent cross-DSO calls. - Add llvm-workaround-superfluous-branches.patch: hints LLVM to eliminate branches until gh#llvm/llvm-project#28804 is solved. OBS-URL: https://build.opensuse.org/request/show/1059871 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm15?expand=0&rev=7
This commit is contained in:
commit
843eb90638
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:10119ae195f1b4f979fe42e67b781e175b0c0d4e982fd6a2f44c4aa7fc925233
|
||||
size 18838320
|
BIN
clang-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
clang-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:066a5a80a12de5b65ac1be649da5fd6e0de1501e63b72731a903e78ed7edf75f
|
||||
size 1540960
|
BIN
clang-docs-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
clang-docs-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:92b1714294efe13906d3b3f87d3273ea9eb38cb7f3b78631820086f0b0173b25
|
||||
size 3080252
|
BIN
clang-tools-extra-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
clang-tools-extra-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7613aeeaba9b8b12b35224044bc349b5fa45525919625057fa54dc882dcb4c86
|
||||
size 6972
|
BIN
cmake-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
cmake-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b46f5b5b02402ef3acd92e7adf2d551e0b2a8ed19fce66800472dc0ad2a81fbc
|
||||
size 2351240
|
BIN
compiler-rt-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
compiler-rt-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4a31567ec0176a3b5615e0fe9f1b16c123c2fb26b3c884c8e453fb126a5390a8
|
||||
size 3343472
|
BIN
libcxx-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
libcxx-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:567a5816a57793246023da3546192bda4cc1da27f94837187cdb9681187f1042
|
||||
size 568780
|
BIN
libcxxabi-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
libcxxabi-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:29fd83b61a1171c6bd51963ca54d0d7b577255e77fcd5ff03c0548fcc5b27b4f
|
||||
size 1407396
|
BIN
lld-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
lld-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7d5bd5b2d1ea90d0155f6f26762ab2047ab09a162cdb4e0e8648cc64cbb6f088
|
||||
size 10298404
|
BIN
lldb-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
lldb-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0b32199401f27e2e0353846a8c5fbadd77beca2570654fb9ef7ac9b7f26967e3
|
||||
size 53525892
|
BIN
llvm-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
llvm-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -2,10 +2,10 @@ This has similar effect as simply deleting the static libraries which we don't
|
||||
want after installation. By not copying them in the first place we reduce the
|
||||
disk usage during installation.
|
||||
|
||||
Index: clang-15.0.6.src/cmake/modules/AddClang.cmake
|
||||
Index: clang-15.0.7.src/cmake/modules/AddClang.cmake
|
||||
===================================================================
|
||||
--- a/clang-15.0.6.src/cmake/modules/AddClang.cmake
|
||||
+++ b/clang-15.0.6.src/cmake/modules/AddClang.cmake
|
||||
--- a/clang-15.0.7.src/cmake/modules/AddClang.cmake
|
||||
+++ b/clang-15.0.7.src/cmake/modules/AddClang.cmake
|
||||
@@ -106,12 +106,15 @@ macro(add_clang_library name)
|
||||
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
||||
@ -68,10 +68,10 @@ Index: cmake/modules/AddLLVM.cmake
|
||||
endif()
|
||||
if (ARG_MODULE)
|
||||
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
|
||||
Index: lld-15.0.6.src/cmake/modules/AddLLD.cmake
|
||||
Index: lld-15.0.7.src/cmake/modules/AddLLD.cmake
|
||||
===================================================================
|
||||
--- a/lld-15.0.6.src/cmake/modules/AddLLD.cmake
|
||||
+++ b/lld-15.0.6.src/cmake/modules/AddLLD.cmake
|
||||
--- a/lld-15.0.7.src/cmake/modules/AddLLD.cmake
|
||||
+++ b/lld-15.0.7.src/cmake/modules/AddLLD.cmake
|
||||
@@ -17,13 +17,6 @@ macro(add_lld_library name)
|
||||
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
@ -86,10 +86,10 @@ Index: lld-15.0.6.src/cmake/modules/AddLLD.cmake
|
||||
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
add_llvm_install_targets(install-${name}
|
||||
DEPENDS ${name}
|
||||
Index: polly-15.0.6.src/cmake/polly_macros.cmake
|
||||
Index: polly-15.0.7.src/cmake/polly_macros.cmake
|
||||
===================================================================
|
||||
--- a/polly-15.0.6.src/cmake/polly_macros.cmake
|
||||
+++ b/polly-15.0.6.src/cmake/polly_macros.cmake
|
||||
--- a/polly-15.0.7.src/cmake/polly_macros.cmake
|
||||
+++ b/polly-15.0.7.src/cmake/polly_macros.cmake
|
||||
@@ -42,12 +42,14 @@ macro(add_polly_library name)
|
||||
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
|
||||
endif( LLVM_LINK_COMPONENTS )
|
||||
@ -110,10 +110,10 @@ Index: polly-15.0.6.src/cmake/polly_macros.cmake
|
||||
endmacro(add_polly_library)
|
||||
|
||||
macro(add_polly_loadable_module name)
|
||||
Index: polly-15.0.6.src/lib/CMakeLists.txt
|
||||
Index: polly-15.0.7.src/lib/CMakeLists.txt
|
||||
===================================================================
|
||||
--- a/polly-15.0.6.src/lib/CMakeLists.txt
|
||||
+++ b/polly-15.0.6.src/lib/CMakeLists.txt
|
||||
--- a/polly-15.0.7.src/lib/CMakeLists.txt
|
||||
+++ b/polly-15.0.7.src/lib/CMakeLists.txt
|
||||
@@ -74,7 +74,7 @@ set_target_properties(PollyCore PROPERTI
|
||||
# It depends on all library it needs, such that with
|
||||
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bf59f6f72ee1c8a2397b13523b6a8ed53c35262f7f99b05b7cb69b144e853a88
|
||||
size 6846028
|
BIN
llvm-docs-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
llvm-docs-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
14
llvm-workaround-superfluous-branches.patch
Normal file
14
llvm-workaround-superfluous-branches.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/llvm/include/llvm/Support/Casting.h b/llvm/include/llvm/Support/Casting.h
|
||||
index b6bbff8..1b68640 100644
|
||||
--- a/llvm/include/llvm/Support/Casting.h
|
||||
+++ b/llvm/include/llvm/Support/Casting.h
|
||||
@@ -605,6 +605,9 @@ LLVM_NODISCARD inline decltype(auto) dyn_cast(From &Val) {
|
||||
|
||||
template <typename To, typename From>
|
||||
LLVM_NODISCARD inline decltype(auto) dyn_cast(From *Val) {
|
||||
+#if defined(__clang__) && defined(NDEBUG)
|
||||
+ __builtin_assume(Val);
|
||||
+#endif
|
||||
return CastInfo<To, From *>::doCastIfPossible(Val);
|
||||
}
|
||||
|
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 14 14:06:38 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
|
||||
- Update to version 15.0.7.
|
||||
* This release contains bug-fixes for the LLVM 15.0.0 release.
|
||||
This release is API and ABI compatible with 15.0.0.
|
||||
- Rebase llvm-do-not-install-static-libraries.patch.
|
||||
- Build stage 2 with -fno-plt on x86_64: since building with
|
||||
-Wl,-z,now the PLT stubs are basically dead code, so eliminating
|
||||
the indirection reduces the number of branches and improves code
|
||||
locality for the quite frequent cross-DSO calls.
|
||||
- Add llvm-workaround-superfluous-branches.patch: hints LLVM to
|
||||
eliminate branches until gh#llvm/llvm-project#28804 is solved.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 4 21:43:38 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
|
||||
|
18
llvm15.spec
18
llvm15.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package llvm15
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -16,14 +16,14 @@
|
||||
#
|
||||
|
||||
|
||||
%define _relver 15.0.6
|
||||
%define _relver 15.0.7
|
||||
%define _version %_relver%{?_rc:rc%_rc}
|
||||
%define _tagver %_relver%{?_rc:-rc%_rc}
|
||||
%define _minor 15.0
|
||||
%define _sonum 15
|
||||
%define _itsme15 1
|
||||
# Integer version used by update-alternatives
|
||||
%define _uaver 1506
|
||||
%define _uaver 1507
|
||||
%define _soclang 13
|
||||
%define _socxx 1
|
||||
|
||||
@ -367,6 +367,8 @@ Patch13: llvm-normally-versioned-libllvm.patch
|
||||
Patch14: llvm-do-not-install-static-libraries.patch
|
||||
# PATCH-FIX-OPENSUSE (or -UPSTREAM?): we disable RPATHs, but the test driver drops LD_LIBRARY_PATH.
|
||||
Patch15: libcxx-test-library-path.patch
|
||||
# PATCH-FIX-UPSTREAM (?): Work around gh#llvm/llvm-project#28804 by hinting with __builtin_assume.
|
||||
Patch16: llvm-workaround-superfluous-branches.patch
|
||||
Patch20: llvm_build_tablegen_component_as_shared_library.patch
|
||||
Patch21: tests-use-python3.patch
|
||||
Patch22: llvm-better-detect-64bit-atomics-support.patch
|
||||
@ -807,6 +809,7 @@ This package contains the development files for Polly.
|
||||
%patch5 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch16 -p2
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
@ -979,6 +982,15 @@ if ! ./stage1/bin/clang -c -xc -Werror -fstack-clash-protection -o /dev/null /de
|
||||
then
|
||||
flags=$(echo %flags | sed 's/-fstack-clash-protection//');
|
||||
fi
|
||||
# 4) Add -fno-plt: With -Wl,-z,now the PLT is basically dead code, so we can
|
||||
# now go the direct route for quite frequent cross-DSO calls. This reduces
|
||||
# branches in a typical execution by ~5 percent, instructions/cycles
|
||||
# by ~4 percent, and reduces pressure on the instruction cache. We do this
|
||||
# only on x86_64 where it doesn't increase the code size significantly.
|
||||
%ifarch x86_64
|
||||
flags="$flags -fno-plt"
|
||||
%endif
|
||||
|
||||
CFLAGS=$flags
|
||||
CXXFLAGS=$flags
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1ac6f159d81625d852a42676ff6d8820cb744c18d825a56d56a6d7aa389f5ac9
|
||||
size 1184608
|
BIN
openmp-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
openmp-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:481e8ee1438917a337d58ff879b8e8a5e3c031e35fa93af6cfdc0b5857c28d92
|
||||
size 9363780
|
BIN
polly-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
BIN
polly-15.0.7.src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user