Compare commits
143 Commits
Author | SHA1 | Date |
---|---|---|
serge-sans-paille | 78e975e88f | |
serge-sans-paille | 901bdb19f1 | |
serge-sans-paille | b9d5a005d6 | |
serge-sans-paille | 004b709e96 | |
serge-sans-paille | 0cf0e0fcc8 | |
serge-sans-paille | 38c19e024e | |
serge-sans-paille | d323e42667 | |
serge-sans-paille | 4d5a2ef48a | |
serge-sans-paille | 7790ff0825 | |
Fedora Release Engineering | 13fa3366b4 | |
Tom Stellard | 00a5db5f3a | |
Tom Stellard | f61fd6e557 | |
Tom Stellard | 96d4e517c5 | |
Tom Stellard | d7b5dc38f6 | |
Tom Stellard | d9ea1b48ed | |
serge-sans-paille | 8ddd41e8d9 | |
Tom Stellard | acf22be74c | |
Tom Stellard | 9d70f3b6d9 | |
Tom Stellard | a49a481229 | |
Tom Stellard | 6a704c4759 | |
serge-sans-paille | 6f02bbba2f | |
Tom Stellard | bab8b9476f | |
Tom Stellard | f07760fd8f | |
Tom Stellard | 547b9347c2 | |
Tom Stellard | d62829b09a | |
Tom Stellard | 5dee6b644a | |
Tom Stellard | 77699b4333 | |
Fedora Release Engineering | f5b025e1f8 | |
Tom Stellard | a0a7bdc94a | |
Tom Stellard | 15784b25a9 | |
serge-sans-paille | ab84dbf5d4 | |
Tom Stellard | 503ebd4079 | |
Tom Stellard | 785b893001 | |
Tom Stellard | 0a95f79eb7 | |
Tom Stellard | f3e54d7b77 | |
Tom Stellard | 2b03740f59 | |
Tom Stellard | dd29ab70a3 | |
serge-sans-paille | f059677e37 | |
serge-sans-paille | d78f6772be | |
serge-sans-paille | 49f1cffac0 | |
serge-sans-paille | 095898397b | |
serge-sans-paille | 54ff648b33 | |
serge-sans-paille | 06970df22f | |
serge-sans-paille | 7d9203efc8 | |
serge-sans-paille | 34be5374da | |
serge-sans-paille | e917285b3e | |
serge-sans-paille | 317b7917e6 | |
serge-sans-paille | 4ca785f8a6 | |
Fedora Release Engineering | aea8243575 | |
Igor Gnatenko | d891d182b1 | |
Josh Stone | cf8888829a | |
serge-sans-paille | 8eccc650c2 | |
serge-sans-paille | 8fc4f00334 | |
Tom Stellard | 40468b1e90 | |
Tom Stellard | d56ae49824 | |
Tom Stellard | 4ccbf0466c | |
Tom Stellard | b5bb6c52ae | |
Tom Stellard | f0b94fc76d | |
Tom Stellard | f04627996a | |
Tom Stellard | 3988cf1bc0 | |
Tom Stellard | b4db2c9955 | |
Tom Stellard | 4a6462c64c | |
Tom Stellard | c8a90e4939 | |
Tom Stellard | faa3d2dca7 | |
Tom Stellard | 2167c29b6c | |
Tom Stellard | 165caa696e | |
Kevin Fenzi | a057ddec79 | |
Tom Stellard | 1bf09a7cfb | |
Tom Stellard | c96d6793e9 | |
Tom Stellard | a47388f920 | |
Tom Stellard | 1948d64c18 | |
Tom Stellard | 5636e80d6b | |
Tom Stellard | a894547e62 | |
Tom Stellard | 4824795185 | |
Tom Stellard | 432475d32b | |
Tom Stellard | 7a93d34863 | |
Tom Stellard | 93d2074b7b | |
Tom Stellard | 8c9aac9934 | |
Tom Stellard | da8f508d62 | |
Fedora Release Engineering | a9a9a3b7ea | |
Igor Gnatenko | f963f98785 | |
Tom Stellard | 84b2f6d2df | |
Tom Stellard | 629a77b63c | |
Tom Stellard | ffa0ad7b11 | |
Tom Stellard | 4da44423ea | |
Tom Stellard | b772b3b219 | |
Tom Stellard | e594b058f1 | |
Tom Stellard | ff279e4625 | |
Tom Stellard | 2218119f3a | |
Tom Stellard | 3d213b0da3 | |
Tom Stellard | 699e7bbabc | |
Tom Stellard | 1afade5cd8 | |
Tom Stellard | 3ff2527fa4 | |
Tom Stellard | 025cf6ec25 | |
Tom Stellard | 440eb0e896 | |
Tom Stellard | e0bd4cf7a2 | |
Tom Stellard | acd922f57d | |
Tom Stellard | 539d4ba445 | |
Tom Stellard | c0f49ce65f | |
Tom Stellard | 3df6c8a9d4 | |
Igor Gnatenko | f4cd5f6cb8 | |
Fedora Release Engineering | e5951f48a3 | |
Tom Stellard | 29d4881c79 | |
Tom Stellard | a264db526f | |
Tom Stellard | 70bb4c2830 | |
Tom Stellard | f3d30bd5c7 | |
Tom Stellard | ca4631e1f8 | |
Tom Stellard | 8f4eab1072 | |
Tom Stellard | ac4d305132 | |
Tom Stellard | 3d29fda1ea | |
Tom Stellard | c5c125e0d4 | |
Tom Stellard | dd255866c2 | |
Tom Stellard | cca2af2d07 | |
Fedora Release Engineering | c263265fc3 | |
Fedora Release Engineering | c28afb57b3 | |
Tom Stellard | d95c34e467 | |
Tom Stellard | 383dd27625 | |
Tom Stellard | 7a52d8c344 | |
Tom Stellard | 4b6a509a38 | |
Josh Stone | 4d11f51b66 | |
Tom Stellard | e6b944d9d2 | |
Tom Stellard | 19288f2436 | |
Tom Stellard | 1bbe5adca1 | |
Tom Stellard | 05920e6f29 | |
Tom Stellard | 53af609b63 | |
Peter Robinson | 146ec0c4aa | |
Dave Airlie | 97474644bf | |
Josh Stone | a5fe5a1bb7 | |
Orion Poplawski | 6448f2fb83 | |
Fedora Release Engineering | ce8c38530f | |
Josh Stone | 0c3be08960 | |
Dave Airlie | ba4dd40fc4 | |
Dave Airlie | 88bc7e0447 | |
Dave Airlie | f943e7f14b | |
Josh Stone | 44886631c9 | |
Josh Stone | 307be8a531 | |
Dave Airlie | 262978a62c | |
Dave Airlie | af4a723176 | |
Dave Airlie | da62168279 | |
Dave Airlie | 1805a94f1f | |
Dave Airlie | 47b8fae685 | |
Dave Airlie | fba8c442af | |
Dave Airlie | 894065ede8 |
|
@ -28,3 +28,43 @@
|
|||
/llvm-3.8.0rc3.src.tar.xz
|
||||
/llvm-3.8.0.src.tar.xz
|
||||
/llvm-3.8.1.src.tar.xz
|
||||
/llvm-3.9.0.src.tar.xz
|
||||
/llvm-3.9.1.src.tar.xz
|
||||
/llvm-4.0.0.src.tar.xz
|
||||
/llvm-4.0.1.src.tar.xz
|
||||
/llvm-5.0.0.src.tar.xz
|
||||
/llvm-5.0.1.src.tar.xz
|
||||
/llvm-6.0.0rc1.src.tar.xz
|
||||
/llvm-6.0.0rc2.src.tar.xz
|
||||
/llvm-6.0.0.src.tar.xz
|
||||
/llvm-6.0.1rc1.src.tar.xz
|
||||
/llvm-6.0.1rc2.src.tar.xz
|
||||
/llvm-6.0.1.src.tar.xz
|
||||
/llvm-7.0.0rc1.src.tar.xz
|
||||
/llvm-7.0.0rc2.src.tar.xz
|
||||
/llvm-7.0.0rc3.src.tar.xz
|
||||
/llvm-7.0.0.src.tar.xz
|
||||
/llvm-7.0.1.src.tar.xz
|
||||
/llvm-8.0.0rc1.src.tar.xz
|
||||
/llvm-8.0.0rc2.src.tar.xz
|
||||
/llvm-8.0.0rc3.src.tar.xz
|
||||
/llvm-8.0.0rc4.src.tar.xz
|
||||
/llvm-8.0.0.src.tar.xz
|
||||
/llvm-9.0.0rc2.src.tar.xz
|
||||
/llvm-9.0.0rc3.src.tar.xz
|
||||
/llvm-9.0.0.src.tar.xz
|
||||
/llvm-9.0.1.src.tar.xz
|
||||
/llvm-10.0.0rc1.src.tar.xz
|
||||
/llvm-10.0.0rc1.src.tar.xz.sig
|
||||
/llvm-10.0.0rc2.src.tar.xz
|
||||
/llvm-10.0.0rc2.src.tar.xz.sig
|
||||
/llvm-10.0.0rc3.src.tar.xz
|
||||
/llvm-10.0.0rc3.src.tar.xz.sig
|
||||
/llvm-10.0.0rc4.src.tar.xz
|
||||
/llvm-10.0.0rc4.src.tar.xz.sig
|
||||
/llvm-10.0.0rc5.src.tar.xz
|
||||
/llvm-10.0.0rc5.src.tar.xz.sig
|
||||
/llvm-10.0.0rc6.src.tar.xz
|
||||
/llvm-10.0.0rc6.src.tar.xz.sig
|
||||
/llvm-10.0.0.src.tar.xz
|
||||
/llvm-10.0.0.src.tar.xz.sig
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 6 Sep 2019 11:03:18 -0700
|
||||
Subject: [PATCH] CMake: Split static library exports into their own export
|
||||
file
|
||||
|
||||
---
|
||||
llvm/cmake/modules/AddLLVM.cmake | 6 +++++-
|
||||
llvm/cmake/modules/CMakeLists.txt | 3 +++
|
||||
llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++
|
||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
||||
index 619e986..200fc45 100644
|
||||
--- a/llvm/cmake/modules/AddLLVM.cmake
|
||||
+++ b/llvm/cmake/modules/AddLLVM.cmake
|
||||
@@ -691,7 +691,11 @@ macro(add_llvm_library name)
|
||||
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
(in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
|
||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
||||
- set(export_to_llvmexports EXPORT LLVMExports)
|
||||
+ if (ARG_SHARED)
|
||||
+ set(export_to_llvmexports EXPORT LLVMExports)
|
||||
+ else()
|
||||
+ set(export_to_llvmexports EXPORT LLVMStaticExports)
|
||||
+ endif()
|
||||
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
|
||||
endif()
|
||||
|
||||
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
|
||||
index 9cf22b4..dc982d2 100644
|
||||
--- a/llvm/cmake/modules/CMakeLists.txt
|
||||
+++ b/llvm/cmake/modules/CMakeLists.txt
|
||||
@@ -105,6 +105,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
|
||||
set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
|
||||
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
||||
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
||||
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
||||
configure_file(
|
||||
LLVMConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
|
||||
@@ -121,6 +122,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
if(llvm_has_exports)
|
||||
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||
COMPONENT cmake-exports)
|
||||
+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||
+ COMPONENT cmake-exports)
|
||||
endif()
|
||||
|
||||
install(FILES
|
||||
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
index 536031f..6ef54a0 100644
|
||||
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
@@ -89,6 +89,8 @@ if(NOT TARGET LLVMSupport)
|
||||
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
|
||||
include("@LLVM_CONFIG_EXPORTS_FILE@")
|
||||
@llvm_config_include_buildtree_only_exports@
|
||||
+
|
||||
+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
|
||||
endif()
|
||||
|
||||
# By creating intrinsics_gen here, subprojects that depend on LLVM's
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
From 9d496e978f59e153bb76e92229d5a524d92dee04 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Tue, 10 Sep 2019 13:33:48 -0700
|
||||
Subject: [PATCH] CMake: Split test binary exports into their own export file
|
||||
|
||||
---
|
||||
llvm/cmake/modules/AddLLVM.cmake | 7 ++++++-
|
||||
llvm/cmake/modules/CMakeLists.txt | 3 +++
|
||||
llvm/cmake/modules/LLVMConfig.cmake.in | 1 +
|
||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
|
||||
index 200fc45..9eec7a7 100644
|
||||
--- a/llvm/cmake/modules/AddLLVM.cmake
|
||||
+++ b/llvm/cmake/modules/AddLLVM.cmake
|
||||
@@ -953,7 +953,12 @@ macro(add_llvm_utility name)
|
||||
set(export_to_llvmexports)
|
||||
if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
||||
- set(export_to_llvmexports EXPORT LLVMExports)
|
||||
+ if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR
|
||||
+ ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target")
|
||||
+ set(export_to_llvmexports EXPORT LLVMTestExports)
|
||||
+ else()
|
||||
+ set(export_to_llvmexports EXPORT LLVMExports)
|
||||
+ endif()
|
||||
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
|
||||
endif()
|
||||
|
||||
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
|
||||
index dc982d2..c861f45 100644
|
||||
--- a/llvm/cmake/modules/CMakeLists.txt
|
||||
+++ b/llvm/cmake/modules/CMakeLists.txt
|
||||
@@ -106,6 +106,7 @@ set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
|
||||
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
||||
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
||||
set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
||||
+set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake")
|
||||
configure_file(
|
||||
LLVMConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
|
||||
@@ -124,6 +125,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
COMPONENT cmake-exports)
|
||||
install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||
COMPONENT cmake-exports)
|
||||
+ install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||
+ COMPONENT cmake-exports)
|
||||
endif()
|
||||
|
||||
install(FILES
|
||||
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
index 6ef54a0..d81b09a 100644
|
||||
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
|
||||
@@ -91,6 +91,7 @@ if(NOT TARGET LLVMSupport)
|
||||
@llvm_config_include_buildtree_only_exports@
|
||||
|
||||
include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
|
||||
+ include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL)
|
||||
endif()
|
||||
|
||||
# By creating intrinsics_gen here, subprojects that depend on LLVM's
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From 04c252cc93fe5905a625773cd174ed6ca7651463 Mon Sep 17 00:00:00 2001
|
||||
From: Will Schmidt <will_schmidt@vnet.ibm.com>
|
||||
Date: Mon, 24 Mar 2014 16:04:15 +0000
|
||||
Subject: [PATCH] [PPC64LE] ELFv2 ABI updates for the .opd section
|
||||
|
||||
[PPC64LE] ELFv2 ABI updates for the .opd section
|
||||
The PPC64 Little Endian (PPC64LE) target supports the ELFv2 ABI, and as
|
||||
such, does not have a ".opd" section. This is keyed off a _CALL_ELF=2
|
||||
macro check.
|
||||
|
||||
The CALL_ELF check is not clearly documented at this time. The basis
|
||||
for usage in this patch is from the gcc thread here:
|
||||
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01144.html
|
||||
|
||||
> Adding comment from Uli:
|
||||
Looks good to me. I think the old-style JIT doesn't really work
|
||||
anyway for 64-bit, but at least with this patch LLVM will compile
|
||||
and link again on a ppc64le host ...
|
||||
|
||||
|
||||
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204614 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
lib/Target/PowerPC/PPCJITInfo.cpp | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/lib/Target/PowerPC/PPCJITInfo.cpp b/lib/Target/PowerPC/PPCJITInfo.cpp
|
||||
index 5e3a48d..227919c 100644
|
||||
--- a/lib/Target/PowerPC/PPCJITInfo.cpp
|
||||
+++ b/lib/Target/PowerPC/PPCJITInfo.cpp
|
||||
@@ -214,6 +214,10 @@ asm(
|
||||
".text\n"
|
||||
".align 2\n"
|
||||
".globl PPC64CompilationCallback\n"
|
||||
+#if _CALL_ELF == 2
|
||||
+ ".type PPC64CompilationCallback,@function\n"
|
||||
+"PPC64CompilationCallback:\n"
|
||||
+#else
|
||||
".section \".opd\",\"aw\",@progbits\n"
|
||||
".align 3\n"
|
||||
"PPC64CompilationCallback:\n"
|
||||
@@ -223,6 +227,7 @@ asm(
|
||||
".align 4\n"
|
||||
".type PPC64CompilationCallback,@function\n"
|
||||
".L.PPC64CompilationCallback:\n"
|
||||
+#endif
|
||||
# else
|
||||
asm(
|
||||
".text\n"
|
||||
--
|
||||
1.9.3
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,22 +0,0 @@
|
|||
Preserve timestamps when installing data files
|
||||
|
||||
---
|
||||
Makefile.rules | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.rules b/Makefile.rules
|
||||
index f0c542b..0ff92bb 100644
|
||||
--- a/Makefile.rules
|
||||
+++ b/Makefile.rules
|
||||
@@ -773,7 +773,7 @@ BCCompile.CXX = $(LLVMCXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(CPPFLAGS) \
|
||||
|
||||
ProgInstall = $(INSTALL) $(Install.StripFlag) -m 0755
|
||||
ScriptInstall = $(INSTALL) -m 0755
|
||||
-DataInstall = $(INSTALL) -m 0644
|
||||
+DataInstall = $(INSTALL) -p -m 0644
|
||||
|
||||
# When compiling under Mingw/Cygwin, the tblgen tool expects Windows
|
||||
# paths. In this case, the SYSPATH function (defined in
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
From e746af90e6aa52af6e6bb0b88ffe20dbd97a1e4d Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Thu, 3 Dec 2015 14:53:39 +0100
|
||||
Subject: [PATCH 2/3] Adapt previous (Clang trunk) patch to Clang 3.7
|
||||
|
||||
---
|
||||
lib/AST/ItaniumMangle.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/AST/ItaniumMangle.cpp b/lib/AST/ItaniumMangle.cpp
|
||||
index e32b659..19a09dc 100644
|
||||
--- a/tools/clang/lib/AST/ItaniumMangle.cpp
|
||||
+++ b/tools/clang/lib/AST/ItaniumMangle.cpp
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
+#include <set>
|
||||
|
||||
#define MANGLE_CHECKER 0
|
||||
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up llvm-3.4/tools/llvm-shlib/Makefile.orig llvm-3.4/tools/llvm-shlib/Makefile
|
||||
--- llvm-3.4/tools/llvm-shlib/Makefile.orig 2013-11-01 00:35:00.000000000 +1000
|
||||
+++ llvm-3.4/tools/llvm-shlib/Makefile 2014-01-14 10:13:20.069858909 +1000
|
||||
@@ -75,7 +75,7 @@ endif
|
||||
|
||||
ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
|
||||
# Don't allow unresolved symbols.
|
||||
- LLVMLibsOptions += -Wl,--no-undefined
|
||||
+ LLVMLibsOptions += -Wl,--no-undefined -Wl,-Bsymbolic
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),SunOS)
|
|
@ -1,16 +0,0 @@
|
|||
diff -up llvm-3.4.1.src/tools/clang/lib/Driver/Tools.cpp.jx llvm-3.4.1.src/tools/clang/lib/Driver/Tools.cpp
|
||||
--- llvm-3.4.1.src/tools/clang/lib/Driver/Tools.cpp.jx 2013-12-08 21:59:27.000000000 -0500
|
||||
+++ llvm-3.4.1.src/tools/clang/lib/Driver/Tools.cpp 2014-06-02 11:24:07.628292753 -0400
|
||||
@@ -763,9 +763,9 @@ static StringRef getARMFloatABI(const Dr
|
||||
break;
|
||||
}
|
||||
default:
|
||||
- // Assume "soft", but warn the user we are guessing.
|
||||
- FloatABI = "soft";
|
||||
- D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft";
|
||||
+ // Assume "hard", but warn the user we are guessing.
|
||||
+ FloatABI = "hard";
|
||||
+ D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "hard";
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
diff -up llvm-3.7.0.src/include/llvm/CodeGen/CommandFlags.h.dma llvm-3.7.0.src/include/llvm/CodeGen/CommandFlags.h
|
||||
--- llvm-3.7.0.src/include/llvm/CodeGen/CommandFlags.h.dma 2015-09-15 15:01:41.570871134 +1000
|
||||
+++ llvm-3.7.0.src/include/llvm/CodeGen/CommandFlags.h 2015-09-15 15:01:53.642191476 +1000
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "llvm/IR/Intrinsics.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/MC/MCTargetOptionsCommandFlags.h"
|
||||
-#include "llvm//MC/SubtargetFeature.h"
|
||||
+#include "llvm/MC/SubtargetFeature.h"
|
||||
#include "llvm/Support/CodeGen.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/Host.h"
|
|
@ -0,0 +1,12 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
67H2IH//2sf8dw==
|
||||
=ADVe
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
config.llvm_tools_dir = '/usr/bin'
|
||||
config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params
|
||||
|
||||
if hasattr(config, 'host_triple'):
|
||||
# This means we are running lit regression tests
|
||||
|
||||
# Regression tests write output to this directory, so we need to be able to specify
|
||||
# a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit
|
||||
config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params
|
||||
lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params)
|
||||
else:
|
||||
# This means we are running lit unit tests
|
||||
|
||||
# For unit tests, llvm_obj_root is used to find the unit test binaries.
|
||||
config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params
|
||||
lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params)
|
|
@ -1,16 +0,0 @@
|
|||
Fix broken symlink to Python's lldb module
|
||||
|
||||
Resolves: #1177143
|
||||
|
||||
diff -rupN lldb-3.5.0.src/scripts/Python/finish-swig-Python-LLDB.sh lldb-3.5.0.src-new/scripts/Python/finish-swig-Python-LLDB.sh
|
||||
--- lldb-3.5.0.src/scripts/Python/finish-swig-Python-LLDB.sh 2014-07-01 19:57:19.000000000 +0200
|
||||
+++ lldb-3.5.0.src-new/scripts/Python/finish-swig-Python-LLDB.sh 2014-12-24 14:18:10.068604693 +0100
|
||||
@@ -158,7 +158,7 @@ then
|
||||
then
|
||||
ln -s "../../../LLDB" _lldb.so
|
||||
else
|
||||
- ln -s "../../../liblldb${SOEXT}" _lldb.so
|
||||
+ ln -s "../../../llvm/liblldb${SOEXT}" _lldb.so
|
||||
fi
|
||||
else
|
||||
if [ $Debug -eq 1 ]
|
|
@ -1,16 +0,0 @@
|
|||
diff -up lldb/scripts/Python/modules/readline/Makefile.jx lldb/scripts/Python/modules/readline/Makefile
|
||||
--- lldb/scripts/Python/modules/readline/Makefile.jx 2014-02-26 10:05:48.000000000 -0500
|
||||
+++ lldb/scripts/Python/modules/readline/Makefile 2014-10-14 11:55:05.112566400 -0400
|
||||
@@ -91,9 +91,8 @@ $(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)
|
||||
# Target to move the shared library from the build python lib dir to
|
||||
# the install python lib dir.
|
||||
install-local:: $(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)$(SHLIBEXT)
|
||||
- $(Echo) Installing $(BuildMode) $(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)$(SHLIBEXT) to $(DESTDIR)$(prefix)/lib/$(LLDB_PYTHON_MODULE_REL_DIR)
|
||||
- $(Verb) $(MKDIR) "$(DESTDIR)$(prefix)/lib/$(LLDB_PYTHON_MODULE_REL_DIR)"
|
||||
- $(Verb) $(ProgInstall) "$(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)$(SHLIBEXT)" "$(DESTDIR)$(prefix)/lib/$(LLDB_PYTHON_MODULE_REL_DIR)"
|
||||
- $(Verb) $(RM) "$(DESTDIR)$(prefix)/lib/$(LIBRARYNAME)$(SHLIBEXT)"
|
||||
+ $(Echo) Installing $(BuildMode) $(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)$(SHLIBEXT) to $(DESTDIR)$(prefix)/@lib@/$(LLDB_PYTHON_MODULE_REL_DIR)
|
||||
+ $(Verb) $(MKDIR) "$(DESTDIR)$(prefix)/@lib@/$(LLDB_PYTHON_MODULE_REL_DIR)"
|
||||
+ $(Verb) $(ProgInstall) "$(LLDB_PYTHON_MODULE_DIR)/$(LIBRARYNAME)$(SHLIBEXT)" "$(DESTDIR)$(prefix)/@lib@/$(LLDB_PYTHON_MODULE_REL_DIR)"
|
||||
|
||||
endif # if !defined(LLDB_DISABLE_PYTHON)
|
|
@ -1,459 +0,0 @@
|
|||
diff --git a/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp b/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
|
||||
index 99e1377..7105879 100644
|
||||
--- a/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
|
||||
+++ b/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
|
||||
@@ -316,6 +316,37 @@ void AMDGPUInstPrinter::printKCache(const MCInst *MI, unsigned OpNo,
|
||||
}
|
||||
}
|
||||
|
||||
+void AMDGPUInstPrinter::printSendMsg(const MCInst *MI, unsigned OpNo,
|
||||
+ raw_ostream &O) {
|
||||
+ unsigned SImm16 = MI->getOperand(OpNo).getImm();
|
||||
+ unsigned Msg = SImm16 & 0xF;
|
||||
+ if (Msg == 2 || Msg == 3) {
|
||||
+ unsigned Op = (SImm16 >> 4) & 0xF;
|
||||
+ if (Msg == 3)
|
||||
+ O << "Gs_done(";
|
||||
+ else
|
||||
+ O << "Gs(";
|
||||
+ if (Op == 0) {
|
||||
+ O << "nop";
|
||||
+ } else {
|
||||
+ unsigned Stream = (SImm16 >> 8) & 0x3;
|
||||
+ if (Op == 1)
|
||||
+ O << "cut";
|
||||
+ else if (Op == 2)
|
||||
+ O << "emit";
|
||||
+ else if (Op == 3)
|
||||
+ O << "emit-cut";
|
||||
+ O << " stream " << Stream;
|
||||
+ }
|
||||
+ O << "), [m0] ";
|
||||
+ } else if (Msg == 1)
|
||||
+ O << "interrupt ";
|
||||
+ else if (Msg == 15)
|
||||
+ O << "system ";
|
||||
+ else
|
||||
+ O << "unknown(" << Msg << ") ";
|
||||
+}
|
||||
+
|
||||
void AMDGPUInstPrinter::printWaitFlag(const MCInst *MI, unsigned OpNo,
|
||||
raw_ostream &O) {
|
||||
// Note: Mask values are taken from SIInsertWaits.cpp and not from ISA docs
|
||||
diff --git a/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h b/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h
|
||||
index 77af942..2876dd2 100644
|
||||
--- a/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h
|
||||
+++ b/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h
|
||||
@@ -53,6 +53,7 @@ private:
|
||||
void printRSel(const MCInst *MI, unsigned OpNo, raw_ostream &O);
|
||||
void printCT(const MCInst *MI, unsigned OpNo, raw_ostream &O);
|
||||
void printKCache(const MCInst *MI, unsigned OpNo, raw_ostream &O);
|
||||
+ void printSendMsg(const MCInst *MI, unsigned OpNo, raw_ostream &O);
|
||||
void printWaitFlag(const MCInst *MI, unsigned OpNo, raw_ostream &O);
|
||||
};
|
||||
|
||||
diff --git a/lib/Target/R600/SIInsertWaits.cpp b/lib/Target/R600/SIInsertWaits.cpp
|
||||
index 7ef662e..695ec40 100644
|
||||
--- a/lib/Target/R600/SIInsertWaits.cpp
|
||||
+++ b/lib/Target/R600/SIInsertWaits.cpp
|
||||
@@ -314,6 +314,12 @@ Counters SIInsertWaits::handleOperands(MachineInstr &MI) {
|
||||
|
||||
Counters Result = ZeroCounts;
|
||||
|
||||
+ // S_SENDMSG implicitly waits for all outstanding LGKM transfers to finish,
|
||||
+ // but we also want to wait for any other outstanding transfers before
|
||||
+ // signalling other hardware blocks
|
||||
+ if (MI.getOpcode() == AMDGPU::S_SENDMSG)
|
||||
+ return LastIssued;
|
||||
+
|
||||
// For each register affected by this
|
||||
// instruction increase the result sequence
|
||||
for (unsigned i = 0, e = MI.getNumOperands(); i != e; ++i) {
|
||||
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
|
||||
index 4cd0daa..19d2171 100644
|
||||
--- a/lib/Target/R600/SIInstrInfo.td
|
||||
+++ b/lib/Target/R600/SIInstrInfo.td
|
||||
@@ -425,26 +425,48 @@ class MTBUF_Store_Helper <bits<3> op, string asm, RegisterClass regClass> : MTBU
|
||||
|
||||
multiclass MUBUF_Load_Helper <bits<7> op, string asm, RegisterClass regClass> {
|
||||
|
||||
- let glc = 0, lds = 0, slc = 0, tfe = 0, soffset = 128 /* ZERO */,
|
||||
- mayLoad = 1 in {
|
||||
-
|
||||
- let offen = 1, idxen = 0, addr64 = 0, offset = 0 in {
|
||||
- def _OFFEN : MUBUF <op, (outs regClass:$vdata),
|
||||
- (ins SReg_128:$srsrc, VReg_32:$vaddr),
|
||||
- asm#" $vdata, $srsrc + $vaddr", []>;
|
||||
- }
|
||||
-
|
||||
- let offen = 0, idxen = 1, addr64 = 0 in {
|
||||
- def _IDXEN : MUBUF <op, (outs regClass:$vdata),
|
||||
- (ins SReg_128:$srsrc, VReg_32:$vaddr, i16imm:$offset),
|
||||
- asm#" $vdata, $srsrc[$vaddr] + $offset", []>;
|
||||
- }
|
||||
+ let lds = 0, mayLoad = 1 in {
|
||||
+
|
||||
+ let addr64 = 0 in {
|
||||
+
|
||||
+ let offen = 0, idxen = 0 in {
|
||||
+ def _OFFSET : MUBUF <op, (outs regClass:$vdata),
|
||||
+ (ins SReg_128:$srsrc, VReg_32:$vaddr,
|
||||
+ i16imm:$offset, SSrc_32:$soffset, i1imm:$glc,
|
||||
+ i1imm:$slc, i1imm:$tfe),
|
||||
+ asm#" $vdata, $srsrc + $offset + $soffset, glc=$glc, slc=$slc, tfe=$tfe", []>;
|
||||
+ }
|
||||
+
|
||||
+ let offen = 1, idxen = 0, offset = 0 in {
|
||||
+ def _OFFEN : MUBUF <op, (outs regClass:$vdata),
|
||||
+ (ins SReg_128:$srsrc, VReg_32:$vaddr,
|
||||
+ SSrc_32:$soffset, i1imm:$glc, i1imm:$slc,
|
||||
+ i1imm:$tfe),
|
||||
+ asm#" $vdata, $srsrc + $vaddr + $soffset, glc=$glc, slc=$slc, tfe=$tfe", []>;
|
||||
+ }
|
||||
+
|
||||
+ let offen = 0, idxen = 1 in {
|
||||
+ def _IDXEN : MUBUF <op, (outs regClass:$vdata),
|
||||
+ (ins SReg_128:$srsrc, VReg_32:$vaddr,
|
||||
+ i16imm:$offset, SSrc_32:$soffset, i1imm:$glc,
|
||||
+ i1imm:$slc, i1imm:$tfe),
|
||||
+ asm#" $vdata, $srsrc[$vaddr] + $offset + $soffset, glc=$glc, slc=$slc, tfe=$tfe", []>;
|
||||
+ }
|
||||
+
|
||||
+ let offen = 1, idxen = 1 in {
|
||||
+ def _BOTHEN : MUBUF <op, (outs regClass:$vdata),
|
||||
+ (ins SReg_128:$srsrc, VReg_64:$vaddr,
|
||||
+ SSrc_32:$soffset, i1imm:$glc,
|
||||
+ i1imm:$slc, i1imm:$tfe),
|
||||
+ asm#" $vdata, $srsrc[$vaddr[0]] + $vaddr[1] + $soffset, glc=$glc, slc=$slc, tfe=$tfe", []>;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- let offen = 0, idxen = 0, addr64 = 1 in {
|
||||
- def _ADDR64 : MUBUF <op, (outs regClass:$vdata),
|
||||
- (ins SReg_128:$srsrc, VReg_64:$vaddr, i16imm:$offset),
|
||||
- asm#" $vdata, $srsrc + $vaddr + $offset", []>;
|
||||
- }
|
||||
+ let offen = 0, idxen = 0, addr64 = 1, glc = 0, slc = 0, tfe = 0, soffset = 128 /* ZERO */ in {
|
||||
+ def _ADDR64 : MUBUF <op, (outs regClass:$vdata),
|
||||
+ (ins SReg_128:$srsrc, VReg_64:$vaddr, i16imm:$offset),
|
||||
+ asm#" $vdata, $srsrc + $vaddr + $offset", []>;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td
|
||||
index 76f05eb..9acb9b6 100644
|
||||
--- a/lib/Target/R600/SIInstructions.td
|
||||
+++ b/lib/Target/R600/SIInstructions.td
|
||||
@@ -22,6 +22,10 @@ def InterpSlot : Operand<i32> {
|
||||
let PrintMethod = "printInterpSlot";
|
||||
}
|
||||
|
||||
+def SendMsgImm : Operand<i32> {
|
||||
+ let PrintMethod = "printSendMsg";
|
||||
+}
|
||||
+
|
||||
def isSI : Predicate<"Subtarget.getGeneration() "
|
||||
">= AMDGPUSubtarget::SOUTHERN_ISLANDS">;
|
||||
|
||||
@@ -826,17 +830,25 @@ def S_BARRIER : SOPP <0x0000000a, (ins), "S_BARRIER",
|
||||
def S_WAITCNT : SOPP <0x0000000c, (ins WAIT_FLAG:$simm16), "S_WAITCNT $simm16",
|
||||
[]
|
||||
>;
|
||||
-} // End hasSideEffects
|
||||
//def S_SETHALT : SOPP_ <0x0000000d, "S_SETHALT", []>;
|
||||
//def S_SLEEP : SOPP_ <0x0000000e, "S_SLEEP", []>;
|
||||
//def S_SETPRIO : SOPP_ <0x0000000f, "S_SETPRIO", []>;
|
||||
-//def S_SENDMSG : SOPP_ <0x00000010, "S_SENDMSG", []>;
|
||||
+
|
||||
+let Uses = [EXEC] in {
|
||||
+ def S_SENDMSG : SOPP <0x00000010, (ins SendMsgImm:$simm16, M0Reg:$m0), "S_SENDMSG $simm16",
|
||||
+ [(int_SI_sendmsg imm:$simm16, M0Reg:$m0)]
|
||||
+ > {
|
||||
+ let DisableEncoding = "$m0";
|
||||
+ }
|
||||
+} // End Uses = [EXEC]
|
||||
+
|
||||
//def S_SENDMSGHALT : SOPP_ <0x00000011, "S_SENDMSGHALT", []>;
|
||||
//def S_TRAP : SOPP_ <0x00000012, "S_TRAP", []>;
|
||||
//def S_ICACHE_INV : SOPP_ <0x00000013, "S_ICACHE_INV", []>;
|
||||
//def S_INCPERFLEVEL : SOPP_ <0x00000014, "S_INCPERFLEVEL", []>;
|
||||
//def S_DECPERFLEVEL : SOPP_ <0x00000015, "S_DECPERFLEVEL", []>;
|
||||
//def S_TTRACEDATA : SOPP_ <0x00000016, "S_TTRACEDATA", []>;
|
||||
+} // End hasSideEffects
|
||||
|
||||
def V_CNDMASK_B32_e32 : VOP2 <0x00000000, (outs VReg_32:$dst),
|
||||
(ins VSrc_32:$src0, VReg_32:$src1, VCCReg:$vcc),
|
||||
@@ -1305,8 +1317,8 @@ def SI_END_CF : InstSI <
|
||||
|
||||
def SI_KILL : InstSI <
|
||||
(outs),
|
||||
- (ins VReg_32:$src),
|
||||
- "SI_KIL $src",
|
||||
+ (ins VSrc_32:$src),
|
||||
+ "SI_KILL $src",
|
||||
[(int_AMDGPU_kill f32:$src)]
|
||||
>;
|
||||
|
||||
@@ -1397,13 +1409,13 @@ def : Pat<
|
||||
|
||||
def : Pat <
|
||||
(int_AMDGPU_kilp),
|
||||
- (SI_KILL (V_MOV_B32_e32 0xbf800000))
|
||||
+ (SI_KILL 0xbf800000)
|
||||
>;
|
||||
|
||||
/* int_SI_vs_load_input */
|
||||
def : Pat<
|
||||
(SIload_input i128:$tlst, IMM12bit:$attr_offset, i32:$buf_idx_vgpr),
|
||||
- (BUFFER_LOAD_FORMAT_XYZW_IDXEN $tlst, $buf_idx_vgpr, imm:$attr_offset)
|
||||
+ (BUFFER_LOAD_FORMAT_XYZW_IDXEN $tlst, $buf_idx_vgpr, imm:$attr_offset, 0, 0, 0, 0)
|
||||
>;
|
||||
|
||||
/* int_SI_export */
|
||||
@@ -1809,7 +1821,7 @@ def : Pat <
|
||||
// 3. Offset in an 32Bit VGPR
|
||||
def : Pat <
|
||||
(SIload_constant i128:$sbase, i32:$voff),
|
||||
- (BUFFER_LOAD_DWORD_OFFEN $sbase, $voff)
|
||||
+ (BUFFER_LOAD_DWORD_OFFEN $sbase, $voff, 0, 0, 0, 0)
|
||||
>;
|
||||
|
||||
// The multiplication scales from [0,1] to the unsigned integer range
|
||||
@@ -1970,6 +1982,50 @@ defm : MUBUFStore_Pattern <BUFFER_STORE_DWORDX2, i64, global_store>;
|
||||
defm : MUBUFStore_Pattern <BUFFER_STORE_DWORDX2, v2i32, global_store>;
|
||||
defm : MUBUFStore_Pattern <BUFFER_STORE_DWORDX4, v4i32, global_store>;
|
||||
|
||||
+// BUFFER_LOAD_DWORD*, addr64=0
|
||||
+multiclass MUBUF_Load_Dword <ValueType vt, MUBUF offset, MUBUF offen, MUBUF idxen,
|
||||
+ MUBUF bothen> {
|
||||
+
|
||||
+ def : Pat <
|
||||
+ (vt (int_SI_buffer_load_dword i128:$rsrc, i32:$vaddr, i32:$soffset,
|
||||
+ imm:$offset, 0, 0, imm:$glc, imm:$slc,
|
||||
+ imm:$tfe)),
|
||||
+ (offset $rsrc, $vaddr, (as_i16imm $offset), $soffset, (as_i1imm $glc),
|
||||
+ (as_i1imm $slc), (as_i1imm $tfe))
|
||||
+ >;
|
||||
+
|
||||
+ def : Pat <
|
||||
+ (vt (int_SI_buffer_load_dword i128:$rsrc, i32:$vaddr, i32:$soffset,
|
||||
+ imm, 1, 0, imm:$glc, imm:$slc,
|
||||
+ imm:$tfe)),
|
||||
+ (offen $rsrc, $vaddr, $soffset, (as_i1imm $glc), (as_i1imm $slc),
|
||||
+ (as_i1imm $tfe))
|
||||
+ >;
|
||||
+
|
||||
+ def : Pat <
|
||||
+ (vt (int_SI_buffer_load_dword i128:$rsrc, i32:$vaddr, i32:$soffset,
|
||||
+ imm:$offset, 0, 1, imm:$glc, imm:$slc,
|
||||
+ imm:$tfe)),
|
||||
+ (idxen $rsrc, $vaddr, (as_i16imm $offset), $soffset, (as_i1imm $glc),
|
||||
+ (as_i1imm $slc), (as_i1imm $tfe))
|
||||
+ >;
|
||||
+
|
||||
+ def : Pat <
|
||||
+ (vt (int_SI_buffer_load_dword i128:$rsrc, v2i32:$vaddr, i32:$soffset,
|
||||
+ imm, 1, 1, imm:$glc, imm:$slc,
|
||||
+ imm:$tfe)),
|
||||
+ (bothen $rsrc, $vaddr, $soffset, (as_i1imm $glc), (as_i1imm $slc),
|
||||
+ (as_i1imm $tfe))
|
||||
+ >;
|
||||
+}
|
||||
+
|
||||
+defm : MUBUF_Load_Dword <i32, BUFFER_LOAD_DWORD_OFFSET, BUFFER_LOAD_DWORD_OFFEN,
|
||||
+ BUFFER_LOAD_DWORD_IDXEN, BUFFER_LOAD_DWORD_BOTHEN>;
|
||||
+defm : MUBUF_Load_Dword <v2i32, BUFFER_LOAD_DWORDX2_OFFSET, BUFFER_LOAD_DWORDX2_OFFEN,
|
||||
+ BUFFER_LOAD_DWORDX2_IDXEN, BUFFER_LOAD_DWORDX2_BOTHEN>;
|
||||
+defm : MUBUF_Load_Dword <v4i32, BUFFER_LOAD_DWORDX4_OFFSET, BUFFER_LOAD_DWORDX4_OFFEN,
|
||||
+ BUFFER_LOAD_DWORDX4_IDXEN, BUFFER_LOAD_DWORDX4_BOTHEN>;
|
||||
+
|
||||
//===----------------------------------------------------------------------===//
|
||||
// MTBUF Patterns
|
||||
//===----------------------------------------------------------------------===//
|
||||
diff --git a/lib/Target/R600/SIIntrinsics.td b/lib/Target/R600/SIIntrinsics.td
|
||||
index 7fcc964..00e32c0 100644
|
||||
--- a/lib/Target/R600/SIIntrinsics.td
|
||||
+++ b/lib/Target/R600/SIIntrinsics.td
|
||||
@@ -38,6 +38,22 @@ let TargetPrefix = "SI", isTarget = 1 in {
|
||||
llvm_i32_ty], // tfe(imm)
|
||||
[]>;
|
||||
|
||||
+ // Fully-flexible BUFFER_LOAD_DWORD_* except for the ADDR64 bit, which is not exposed
|
||||
+ def int_SI_buffer_load_dword : Intrinsic <
|
||||
+ [llvm_anyint_ty], // vdata(VGPR), overloaded for types i32, v2i32, v4i32
|
||||
+ [llvm_anyint_ty, // rsrc(SGPR)
|
||||
+ llvm_anyint_ty, // vaddr(VGPR)
|
||||
+ llvm_i32_ty, // soffset(SGPR)
|
||||
+ llvm_i32_ty, // inst_offset(imm)
|
||||
+ llvm_i32_ty, // offen(imm)
|
||||
+ llvm_i32_ty, // idxen(imm)
|
||||
+ llvm_i32_ty, // glc(imm)
|
||||
+ llvm_i32_ty, // slc(imm)
|
||||
+ llvm_i32_ty], // tfe(imm)
|
||||
+ [IntrReadArgMem]>;
|
||||
+
|
||||
+ def int_SI_sendmsg : Intrinsic <[], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
|
||||
+
|
||||
class Sample : Intrinsic <[llvm_v4f32_ty], [llvm_anyvector_ty, llvm_v32i8_ty, llvm_anyint_ty, llvm_i32_ty], [IntrNoMem]>;
|
||||
|
||||
def int_SI_sample : Sample;
|
||||
diff --git a/lib/Target/R600/SILowerControlFlow.cpp b/lib/Target/R600/SILowerControlFlow.cpp
|
||||
index 958763d..254f3a6 100644
|
||||
--- a/lib/Target/R600/SILowerControlFlow.cpp
|
||||
+++ b/lib/Target/R600/SILowerControlFlow.cpp
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
||||
#include "llvm/CodeGen/MachineRegisterInfo.h"
|
||||
+#include "llvm/IR/Constants.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
@@ -145,7 +146,9 @@ void SILowerControlFlowPass::SkipIfDead(MachineInstr &MI) {
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
DebugLoc DL = MI.getDebugLoc();
|
||||
|
||||
- if (!shouldSkip(&MBB, &MBB.getParent()->back()))
|
||||
+ if (MBB.getParent()->getInfo<SIMachineFunctionInfo>()->ShaderType !=
|
||||
+ ShaderType::PIXEL ||
|
||||
+ !shouldSkip(&MBB, &MBB.getParent()->back()))
|
||||
return;
|
||||
|
||||
MachineBasicBlock::iterator Insert = &MI;
|
||||
@@ -295,15 +298,27 @@ void SILowerControlFlowPass::Kill(MachineInstr &MI) {
|
||||
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
DebugLoc DL = MI.getDebugLoc();
|
||||
+ const MachineOperand &Op = MI.getOperand(0);
|
||||
|
||||
- // Kill is only allowed in pixel shaders
|
||||
+ // Kill is only allowed in pixel / geometry shaders
|
||||
assert(MBB.getParent()->getInfo<SIMachineFunctionInfo>()->ShaderType ==
|
||||
- ShaderType::PIXEL);
|
||||
-
|
||||
- // Clear this pixel from the exec mask if the operand is negative
|
||||
- BuildMI(MBB, &MI, DL, TII->get(AMDGPU::V_CMPX_LE_F32_e32), AMDGPU::VCC)
|
||||
- .addImm(0)
|
||||
- .addOperand(MI.getOperand(0));
|
||||
+ ShaderType::PIXEL ||
|
||||
+ MBB.getParent()->getInfo<SIMachineFunctionInfo>()->ShaderType ==
|
||||
+ ShaderType::GEOMETRY);
|
||||
+
|
||||
+ // Clear this thread from the exec mask if the operand is negative
|
||||
+ if ((Op.isImm() || Op.isFPImm())) {
|
||||
+ // Constant operand: Set exec mask to 0 or do nothing
|
||||
+ if (Op.isImm() ? (Op.getImm() & 0x80000000) :
|
||||
+ Op.getFPImm()->isNegative()) {
|
||||
+ BuildMI(MBB, &MI, DL, TII->get(AMDGPU::S_MOV_B64), AMDGPU::EXEC)
|
||||
+ .addImm(0);
|
||||
+ }
|
||||
+ } else {
|
||||
+ BuildMI(MBB, &MI, DL, TII->get(AMDGPU::V_CMPX_LE_F32_e32), AMDGPU::VCC)
|
||||
+ .addImm(0)
|
||||
+ .addOperand(Op);
|
||||
+ }
|
||||
|
||||
MI.eraseFromParent();
|
||||
}
|
||||
diff --git a/test/CodeGen/R600/llvm.AMDGPU.kill.ll b/test/CodeGen/R600/llvm.AMDGPU.kill.ll
|
||||
new file mode 100644
|
||||
index 0000000..4ab6a8a
|
||||
--- /dev/null
|
||||
+++ b/test/CodeGen/R600/llvm.AMDGPU.kill.ll
|
||||
@@ -0,0 +1,22 @@
|
||||
+; RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck --check-prefix=SI %s
|
||||
+
|
||||
+; SI-LABEL: @kill_gs_const
|
||||
+; SI-NOT: V_CMPX_LE_F32
|
||||
+; SI: S_MOV_B64 exec, 0
|
||||
+
|
||||
+define void @kill_gs_const() #0 {
|
||||
+main_body:
|
||||
+ %0 = icmp ule i32 0, 3
|
||||
+ %1 = select i1 %0, float 1.000000e+00, float -1.000000e+00
|
||||
+ call void @llvm.AMDGPU.kill(float %1)
|
||||
+ %2 = icmp ule i32 3, 0
|
||||
+ %3 = select i1 %2, float 1.000000e+00, float -1.000000e+00
|
||||
+ call void @llvm.AMDGPU.kill(float %3)
|
||||
+ ret void
|
||||
+}
|
||||
+
|
||||
+declare void @llvm.AMDGPU.kill(float)
|
||||
+
|
||||
+attributes #0 = { "ShaderType"="2" }
|
||||
+
|
||||
+!0 = metadata !{metadata !"const", null, i32 1}
|
||||
diff --git a/test/CodeGen/R600/llvm.SI.load.dword.ll b/test/CodeGen/R600/llvm.SI.load.dword.ll
|
||||
new file mode 100644
|
||||
index 0000000..a622775
|
||||
--- /dev/null
|
||||
+++ b/test/CodeGen/R600/llvm.SI.load.dword.ll
|
||||
@@ -0,0 +1,40 @@
|
||||
+;RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck %s
|
||||
+
|
||||
+; Example of a simple geometry shader loading vertex attributes from the
|
||||
+; ESGS ring buffer
|
||||
+
|
||||
+; CHECK-LABEL: @main
|
||||
+; CHECK: BUFFER_LOAD_DWORD
|
||||
+; CHECK: BUFFER_LOAD_DWORD
|
||||
+; CHECK: BUFFER_LOAD_DWORD
|
||||
+; CHECK: BUFFER_LOAD_DWORD
|
||||
+
|
||||
+define void @main([17 x <16 x i8>] addrspace(2)* byval, [32 x <16 x i8>] addrspace(2)* byval, [16 x <32 x i8>] addrspace(2)* byval, [2 x <16 x i8>] addrspace(2)* byval, [17 x <16 x i8>] addrspace(2)* inreg, [17 x <16 x i8>] addrspace(2)* inreg, i32, i32, i32, i32) #0 {
|
||||
+main_body:
|
||||
+ %10 = getelementptr [2 x <16 x i8>] addrspace(2)* %3, i64 0, i32 1
|
||||
+ %11 = load <16 x i8> addrspace(2)* %10, !tbaa !0
|
||||
+ %12 = shl i32 %6, 2
|
||||
+ %13 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0)
|
||||
+ %14 = bitcast i32 %13 to float
|
||||
+ %15 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> %11, i32 %12, i32 0, i32 0, i32 1, i32 0, i32 1, i32 1, i32 0)
|
||||
+ %16 = bitcast i32 %15 to float
|
||||
+ %17 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> %11, i32 %12, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 0)
|
||||
+ %18 = bitcast i32 %17 to float
|
||||
+ %19 = call i32 @llvm.SI.buffer.load.dword.i32.v2i32(<16 x i8> %11, <2 x i32> <i32 0, i32 0>, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1, i32 0)
|
||||
+ %20 = bitcast i32 %19 to float
|
||||
+ call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %14, float %16, float %18, float %20)
|
||||
+ ret void
|
||||
+}
|
||||
+
|
||||
+; Function Attrs: nounwind readonly
|
||||
+declare i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32) #1
|
||||
+
|
||||
+; Function Attrs: nounwind readonly
|
||||
+declare i32 @llvm.SI.buffer.load.dword.i32.v2i32(<16 x i8>, <2 x i32>, i32, i32, i32, i32, i32, i32, i32) #1
|
||||
+
|
||||
+declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float)
|
||||
+
|
||||
+attributes #0 = { "ShaderType"="1" }
|
||||
+attributes #1 = { nounwind readonly }
|
||||
+
|
||||
+!0 = metadata !{metadata !"const", null, i32 1}
|
||||
diff --git a/test/CodeGen/R600/llvm.SI.sendmsg.ll b/test/CodeGen/R600/llvm.SI.sendmsg.ll
|
||||
new file mode 100644
|
||||
index 0000000..581d422
|
||||
--- /dev/null
|
||||
+++ b/test/CodeGen/R600/llvm.SI.sendmsg.ll
|
||||
@@ -0,0 +1,21 @@
|
||||
+;RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck %s
|
||||
+
|
||||
+; CHECK-LABEL: @main
|
||||
+; CHECK: S_SENDMSG Gs(emit stream 0)
|
||||
+; CHECK: S_SENDMSG Gs(cut stream 1)
|
||||
+; CHECK: S_SENDMSG Gs(emit-cut stream 2)
|
||||
+; CHECK: S_SENDMSG Gs_done(nop)
|
||||
+
|
||||
+define void @main() {
|
||||
+main_body:
|
||||
+ call void @llvm.SI.sendmsg(i32 34, i32 0);
|
||||
+ call void @llvm.SI.sendmsg(i32 274, i32 0);
|
||||
+ call void @llvm.SI.sendmsg(i32 562, i32 0);
|
||||
+ call void @llvm.SI.sendmsg(i32 3, i32 0);
|
||||
+ ret void
|
||||
+}
|
||||
+
|
||||
+; Function Attrs: nounwind
|
||||
+declare void @llvm.SI.sendmsg(i32, i32) #0
|
||||
+
|
||||
+attributes #0 = { nounwind }
|
|
@ -1,12 +0,0 @@
|
|||
diff -up llvm-3.7.1.src/cmake/config-ix.cmake.s390 llvm-3.7.1.src/cmake/config-ix.cmake
|
||||
--- llvm-3.7.1.src/cmake/config-ix.cmake.s390 2016-02-16 12:27:36.000000000 +0100
|
||||
+++ llvm-3.7.1.src/cmake/config-ix.cmake 2016-02-16 12:27:52.000000000 +0100
|
||||
@@ -356,6 +356,8 @@ elseif (LLVM_NATIVE_ARCH MATCHES "msp430
|
||||
set(LLVM_NATIVE_ARCH MSP430)
|
||||
elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
|
||||
set(LLVM_NATIVE_ARCH Hexagon)
|
||||
+elseif (LLVM_NATIVE_ARCH MATCHES "s390")
|
||||
+ set(LLVM_NATIVE_ARCH SystemZ)
|
||||
elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
|
||||
set(LLVM_NATIVE_ARCH SystemZ)
|
||||
elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
|
|
@ -1,9 +0,0 @@
|
|||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "llvm-config-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "llvm-config-64.h"
|
||||
#else
|
||||
#error "Unknown word size"
|
||||
#endif
|
750
llvm.spec
750
llvm.spec
|
@ -1,36 +1,92 @@
|
|||
# Components enabled if supported by target architecture:
|
||||
%ifarch %ix86 x86_64
|
||||
%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
|
||||
%ifarch %{gold_arches}
|
||||
%bcond_without gold
|
||||
%else
|
||||
%bcond_with gold
|
||||
%endif
|
||||
|
||||
Name: llvm
|
||||
Version: 3.8.1
|
||||
Release: 1%{?dist}
|
||||
%bcond_with compat_build
|
||||
|
||||
%global llvm_libdir %{_libdir}/%{name}
|
||||
%global build_llvm_libdir %{buildroot}%{llvm_libdir}
|
||||
#%%global rc_ver 6
|
||||
%global baserelease 1
|
||||
%global llvm_srcdir llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global maj_ver 10
|
||||
%global min_ver 0
|
||||
%global patch_ver 0
|
||||
|
||||
|
||||
%if %{with compat_build}
|
||||
%global pkg_name llvm%{maj_ver}.%{min_ver}
|
||||
%global exec_suffix -%{maj_ver}.%{min_ver}
|
||||
%global install_prefix %{_libdir}/%{name}
|
||||
%global install_bindir %{install_prefix}/bin
|
||||
%global install_includedir %{install_prefix}/include
|
||||
%global install_libdir %{install_prefix}/lib
|
||||
|
||||
%global pkg_bindir %{install_bindir}
|
||||
%global pkg_includedir %{_includedir}/%{name}
|
||||
%global pkg_libdir %{install_libdir}
|
||||
%else
|
||||
%global pkg_name llvm
|
||||
%global install_prefix /usr
|
||||
%global install_libdir %{_libdir}
|
||||
%global pkg_libdir %{install_libdir}
|
||||
%endif
|
||||
|
||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||
|
||||
Name: %{pkg_name}
|
||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
||||
Summary: The Low Level Virtual Machine
|
||||
|
||||
License: NCSA
|
||||
URL: http://llvm.org
|
||||
Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.xz
|
||||
%if 0%{?rc_ver:1}
|
||||
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz
|
||||
Source3: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz.sig
|
||||
%else
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz.sig
|
||||
%endif
|
||||
%if %{without compat_build}
|
||||
Source1: run-lit-tests
|
||||
Source2: lit.fedora.cfg.py
|
||||
%endif
|
||||
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
|
||||
|
||||
Source100: llvm-config.h
|
||||
|
||||
# recognize s390 as SystemZ when configuring build
|
||||
Patch0: llvm-3.7.1-cmake-s390.patch
|
||||
Patch0: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
|
||||
Patch1: 0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: cmake
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: python3-recommonmark
|
||||
BuildRequires: multilib-rpm-config
|
||||
%if %{with gold}
|
||||
BuildRequires: binutils-devel
|
||||
BuildRequires: binutils-devel
|
||||
%endif
|
||||
BuildRequires: libstdc++-static
|
||||
%ifarch %{valgrind_arches}
|
||||
# Enable extra functionality when run the LLVM JIT under valgrind.
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
# LLVM's LineEditor library will use libedit if it is available.
|
||||
BuildRequires: libedit-devel
|
||||
# We need python3-devel for pathfix.py.
|
||||
BuildRequires: python3-devel
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
Provides: llvm(major) = %{maj_ver}
|
||||
|
||||
%description
|
||||
LLVM is a compiler infrastructure designed for compile-time, link-time,
|
||||
runtime, and idle-time optimization of programs from arbitrary programming
|
||||
|
@ -40,8 +96,15 @@ tools as well as libraries with equivalent functionality.
|
|||
%package devel
|
||||
Summary: Libraries and header files for LLVM
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
# The installed LLVM cmake files will add -ledit to the linker flags for any
|
||||
# app that requires the libLLVMLineEditor, so we need to make sure
|
||||
# libedit-devel is available.
|
||||
Requires: libedit-devel
|
||||
Requires(post): %{_sbindir}/alternatives
|
||||
Requires(postun): %{_sbindir}/alternatives
|
||||
|
||||
Provides: llvm-devel(major) = %{maj_ver}
|
||||
|
||||
%description devel
|
||||
This package contains library and header files needed to develop new native
|
||||
|
@ -63,39 +126,79 @@ Shared libraries for the LLVM compiler infrastructure.
|
|||
|
||||
%package static
|
||||
Summary: LLVM static libraries
|
||||
Conflicts: %{name}-devel < 8
|
||||
|
||||
%description static
|
||||
Static libraries for the LLVM compiler infrastructure.
|
||||
|
||||
%if %{without compat_build}
|
||||
|
||||
%package test
|
||||
Summary: LLVM regression tests
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: python3-lit
|
||||
# The regression tests need gold.
|
||||
Requires: binutils
|
||||
# This is for llvm-config
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
# Bugpoint tests require gcc
|
||||
Requires: gcc
|
||||
Requires: findutils
|
||||
|
||||
Provides: llvm-test(major) = %{maj_ver}
|
||||
|
||||
%description test
|
||||
LLVM regression tests.
|
||||
|
||||
%package googletest
|
||||
Summary: LLVM's modified googletest sources
|
||||
|
||||
%description googletest
|
||||
LLVM's modified googletest sources.
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}.src
|
||||
%patch0 -p1 -b .s390
|
||||
%autosetup -n %{llvm_srcdir} -p2
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
test/BugPoint/compile-custom.ll.py \
|
||||
tools/opt-viewer/*.py
|
||||
|
||||
%build
|
||||
mkdir -p _build
|
||||
cd _build
|
||||
|
||||
%ifarch s390
|
||||
%ifarch s390 %{arm} %ix86
|
||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||
%endif
|
||||
|
||||
# force off shared libs as cmake macros turns it on.
|
||||
%cmake .. \
|
||||
#
|
||||
# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
|
||||
# rpath of libraries and binaries. llvm will skip the manual setting
|
||||
# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value
|
||||
# as nothing, so it sets the rpath to "" when installing.
|
||||
%cmake .. -G Ninja \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
|
||||
%ifarch s390
|
||||
-DCMAKE_INSTALL_RPATH=";" \
|
||||
%ifarch s390 %{arm} %ix86
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
%endif
|
||||
%if %{without compat_build}
|
||||
%if 0%{?__isa_bits} == 64
|
||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||
%else
|
||||
-DLLVM_LIBDIR_SUFFIX= \
|
||||
%endif
|
||||
%endif
|
||||
\
|
||||
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;CppBackend" \
|
||||
-DLLVM_TARGETS_TO_BUILD=all \
|
||||
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
|
||||
-DLLVM_ENABLE_ZLIB:BOOL=ON \
|
||||
-DLLVM_ENABLE_FFI:BOOL=ON \
|
||||
|
@ -103,6 +206,7 @@ cd _build
|
|||
%if %{with gold}
|
||||
-DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
||||
%endif
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \
|
||||
\
|
||||
-DLLVM_BUILD_RUNTIME:BOOL=ON \
|
||||
\
|
||||
|
@ -116,75 +220,639 @@ cd _build
|
|||
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
||||
\
|
||||
-DLLVM_INCLUDE_UTILS:BOOL=ON \
|
||||
%if %{with compat_build}
|
||||
-DLLVM_INSTALL_UTILS:BOOL=OFF \
|
||||
%else
|
||||
-DLLVM_INSTALL_UTILS:BOOL=ON \
|
||||
-DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \
|
||||
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
|
||||
%endif
|
||||
\
|
||||
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
||||
-DLLVM_BUILD_DOCS:BOOL=ON \
|
||||
-DLLVM_ENABLE_SPHINX:BOOL=ON \
|
||||
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
|
||||
\
|
||||
-DLLVM_VERSION_SUFFIX='' \
|
||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
|
||||
-DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
|
||||
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
|
||||
\
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
|
||||
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
|
||||
|
||||
make %{?_smp_mflags}
|
||||
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
|
||||
# are no other compile jobs running. This will help reduce OOM errors on the
|
||||
# builders without having to artificially limit the number of concurrent jobs.
|
||||
%ninja_build LLVM
|
||||
%ninja_build
|
||||
|
||||
%install
|
||||
cd _build
|
||||
make install DESTDIR=%{buildroot}
|
||||
%ninja_install -C _build
|
||||
|
||||
|
||||
%if %{without compat_build}
|
||||
mkdir -p %{buildroot}/%{_bindir}
|
||||
mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
|
||||
|
||||
# Fix some man pages
|
||||
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config-%{__isa_bits}.1
|
||||
mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen.1
|
||||
|
||||
# Install binaries needed for lit tests
|
||||
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
|
||||
|
||||
for f in %{test_binaries}
|
||||
do
|
||||
install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir}
|
||||
done
|
||||
|
||||
|
||||
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
|
||||
|
||||
# Install libraries needed for unittests
|
||||
%if 0%{?__isa_bits} == 64
|
||||
%global build_libdir _build/lib64
|
||||
%else
|
||||
%global build_libdir _build/lib
|
||||
%endif
|
||||
|
||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
||||
|
||||
%global install_srcdir %{buildroot}%{_datadir}/llvm/src
|
||||
%global lit_cfg test/%{_arch}.site.cfg.py
|
||||
%global lit_unit_cfg test/Unit/%{_arch}.site.cfg.py
|
||||
%global lit_fedora_cfg %{_datadir}/llvm/lit.fedora.cfg.py
|
||||
|
||||
# Install gtest sources so clang can use them for gtest
|
||||
install -d %{install_srcdir}
|
||||
install -d %{install_srcdir}/utils/
|
||||
cp -R utils/unittest %{install_srcdir}/utils/
|
||||
|
||||
# Generate lit config files. Strip off the last line that initiates the
|
||||
# test run, so we can customize the configuration.
|
||||
head -n -1 _build/test/lit.site.cfg.py >> %{lit_cfg}
|
||||
head -n -1 _build/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg}
|
||||
|
||||
# Install custom fedora config file
|
||||
cp %{SOURCE2} %{buildroot}%{lit_fedora_cfg}
|
||||
|
||||
# Patch lit config files to load custom fedora config:
|
||||
for f in %{lit_cfg} %{lit_unit_cfg}; do
|
||||
echo "lit_config.load_config(config, '%{lit_fedora_cfg}')" >> $f
|
||||
done
|
||||
|
||||
install -d %{buildroot}%{_libexecdir}/tests/llvm
|
||||
install -m 0755 %{SOURCE1} %{buildroot}%{_libexecdir}/tests/llvm
|
||||
|
||||
# Install lit tests. We need to put these in a tarball otherwise rpm will complain
|
||||
# about some of the test inputs having the wrong object file format.
|
||||
install -d %{buildroot}%{_datadir}/llvm/
|
||||
tar -czf %{install_srcdir}/test.tar.gz test/
|
||||
|
||||
# Install the unit test binaries
|
||||
mkdir -p %{build_llvm_libdir}
|
||||
cp -R _build/unittests %{build_llvm_libdir}/
|
||||
rm -rf `find %{build_llvm_libdir} -iname 'cmake*'`
|
||||
|
||||
# Install libraries used for testing
|
||||
install -m 0755 %{build_libdir}/BugpointPasses.so %{buildroot}%{_libdir}
|
||||
install -m 0755 %{build_libdir}/LLVMHello.so %{buildroot}%{_libdir}
|
||||
|
||||
# Install test inputs for PDB tests
|
||||
echo "%{_datadir}/llvm/src/unittests/DebugInfo/PDB" > %{build_llvm_libdir}/unittests/DebugInfo/PDB/llvm.srcdir.txt
|
||||
mkdir -p %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
|
||||
cp -R unittests/DebugInfo/PDB/Inputs %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
|
||||
|
||||
%else
|
||||
|
||||
# Add version suffix to binaries
|
||||
mkdir -p %{buildroot}/%{_bindir}
|
||||
for f in %{buildroot}/%{install_bindir}/*; do
|
||||
filename=`basename $f`
|
||||
ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
|
||||
done
|
||||
|
||||
# Move header files
|
||||
mkdir -p %{buildroot}/%{pkg_includedir}
|
||||
ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
|
||||
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
||||
|
||||
# Fix multi-lib
|
||||
mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}
|
||||
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
|
||||
|
||||
# Create ld.so.conf.d entry
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
||||
cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
|
||||
%{pkg_libdir}
|
||||
EOF
|
||||
|
||||
# Add version suffix to man pages and move them to mandir.
|
||||
mkdir -p %{buildroot}/%{_mandir}/man1
|
||||
for f in `ls %{build_install_prefix}/share/man/man1/*`; do
|
||||
filename=`basename $f | cut -f 1 -d '.'`
|
||||
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
|
||||
done
|
||||
|
||||
# Remove opt-viewer, since this is just a compatibility package.
|
||||
rm -Rf %{build_install_prefix}/share/opt-viewer
|
||||
|
||||
%endif
|
||||
|
||||
# fix multi-lib
|
||||
mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
||||
mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
|
||||
install -m 0644 %{SOURCE100} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h
|
||||
|
||||
%check
|
||||
cd _build
|
||||
make check-all || :
|
||||
# TODO: Fix test failures on arm
|
||||
ninja check-all -C _build || \
|
||||
%ifarch %{arm}
|
||||
:
|
||||
%else
|
||||
false
|
||||
%endif
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets libs
|
||||
|
||||
%if %{without compat_build}
|
||||
|
||||
%post devel
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
|
||||
|
||||
%postun devel
|
||||
[ $1 -eq 0 ] && %{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config-%{__isa_bits}
|
||||
if [ $1 -eq 0 ]; then
|
||||
%{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config
|
||||
fi
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
%exclude %{_mandir}/man1/llvm-config*
|
||||
%{_mandir}/man1/*
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/*.1.*
|
||||
|
||||
%if %{without compat_build}
|
||||
%exclude %{_bindir}/llvm-config-%{__isa_bits}
|
||||
%exclude %{_mandir}/man1/llvm-config.1.*
|
||||
%exclude %{_bindir}/not
|
||||
%exclude %{_bindir}/count
|
||||
%exclude %{_bindir}/yaml-bench
|
||||
%exclude %{_bindir}/lli-child-target
|
||||
%exclude %{_bindir}/llvm-isel-fuzzer
|
||||
%exclude %{_bindir}/llvm-opt-fuzzer
|
||||
%{_datadir}/opt-viewer
|
||||
%else
|
||||
%exclude %{pkg_bindir}/llvm-config
|
||||
%{pkg_bindir}
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%{_libdir}/BugpointPasses.so
|
||||
%{_libdir}/LLVMHello.so
|
||||
%{pkg_libdir}/libLLVM-%{maj_ver}.so
|
||||
%if %{without compat_build}
|
||||
%if %{with gold}
|
||||
%{_libdir}/LLVMgold.so
|
||||
%endif
|
||||
%{_libdir}/libLLVM-3.8*.so
|
||||
%{_libdir}/libLTO.so
|
||||
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||
%{_libdir}/libLTO.so*
|
||||
%else
|
||||
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
|
||||
%if %{with gold}
|
||||
%{_libdir}/%{name}/lib/LLVMgold.so
|
||||
%endif
|
||||
%{pkg_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||
%{pkg_libdir}/libLTO.so*
|
||||
%exclude %{pkg_libdir}/libLTO.so
|
||||
%endif
|
||||
%{pkg_libdir}/libRemarks.so*
|
||||
|
||||
%files devel
|
||||
%if %{without compat_build}
|
||||
%{_bindir}/llvm-config-%{__isa_bits}
|
||||
%{_mandir}/man1/llvm-config.1.*
|
||||
%{_mandir}/man1/llvm-config*
|
||||
%{_includedir}/llvm
|
||||
%{_includedir}/llvm-c
|
||||
%{_libdir}/libLLVM.so
|
||||
%{_datadir}/llvm/cmake
|
||||
%{_libdir}/cmake/llvm
|
||||
%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
|
||||
%exclude %{_libdir}/cmake/llvm/LLVMTestExports.cmake
|
||||
%else
|
||||
%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
|
||||
%{pkg_bindir}/llvm-config
|
||||
%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
|
||||
%{install_includedir}/llvm
|
||||
%{install_includedir}/llvm-c
|
||||
%{pkg_includedir}/llvm
|
||||
%{pkg_includedir}/llvm-c
|
||||
%{pkg_libdir}/libLTO.so
|
||||
%{pkg_libdir}/libLLVM.so
|
||||
%{pkg_libdir}/cmake/llvm
|
||||
%endif
|
||||
|
||||
%files doc
|
||||
%doc %{_pkgdocdir}/html
|
||||
|
||||
%files static
|
||||
%if %{without compat_build}
|
||||
%{_libdir}/*.a
|
||||
%exclude %{_libdir}/libLLVMTestingSupport.a
|
||||
%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
|
||||
%else
|
||||
%{_libdir}/%{name}/lib/*.a
|
||||
%endif
|
||||
|
||||
%if %{without compat_build}
|
||||
|
||||
%files test
|
||||
%{_libexecdir}/tests/llvm/
|
||||
%{llvm_libdir}/unittests/
|
||||
%{_datadir}/llvm/src/unittests
|
||||
%{_datadir}/llvm/src/test.tar.gz
|
||||
%{_datadir}/llvm/lit.fedora.cfg.py
|
||||
%{_bindir}/not
|
||||
%{_bindir}/count
|
||||
%{_bindir}/yaml-bench
|
||||
%{_bindir}/lli-child-target
|
||||
%{_bindir}/llvm-isel-fuzzer
|
||||
%{_bindir}/llvm-opt-fuzzer
|
||||
%{_libdir}/BugpointPasses.so
|
||||
%{_libdir}/LLVMHello.so
|
||||
%{_libdir}/cmake/llvm/LLVMTestExports.cmake
|
||||
|
||||
%files googletest
|
||||
%{_datadir}/llvm/src/utils
|
||||
%{_libdir}/libLLVMTestingSupport.a
|
||||
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-1
|
||||
- 10.0.0 final
|
||||
|
||||
* Mon Mar 23 2020 sguelton@redhat.com - 10.0.0-0.6.rc6
|
||||
- 10.0.0 rc6
|
||||
|
||||
* Thu Mar 19 2020 sguelton@redhat.com - 10.0.0-0.5.rc5
|
||||
- 10.0.0 rc5
|
||||
|
||||
* Sat Mar 14 2020 sguelton@redhat.com - 10.0.0-0.4.rc4
|
||||
- 10.0.0 rc4
|
||||
|
||||
* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.3.rc3
|
||||
- 10.0.0 rc3
|
||||
|
||||
* Fri Feb 28 2020 sguelton@redhat.com - 10.0.0-0.2.rc2
|
||||
- Remove *_finite support, see rhbz#1803203
|
||||
|
||||
* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.1.rc2
|
||||
- 10.0.0 rc2
|
||||
|
||||
* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1
|
||||
- 10.0.0 rc1
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Jan 21 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-4
|
||||
- Rebuild after previous build failed to strip binaries
|
||||
|
||||
* Fri Jan 17 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-3
|
||||
- Add explicit Requires from sub-packages to llvm-libs
|
||||
|
||||
* Fri Jan 10 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-2
|
||||
- Fix crash with kernel bpf self-tests
|
||||
|
||||
* Thu Dec 19 2019 tstellar@redhat.com - 9.0.1-1
|
||||
- 9.0.1 Release
|
||||
|
||||
* Mon Nov 25 2019 sguelton@redhat.com - 9.0.0-4
|
||||
- Activate AVR on all architectures
|
||||
|
||||
* Mon Sep 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-3
|
||||
- Build libLLVM.so first to avoid OOM errors
|
||||
|
||||
* Fri Sep 27 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-2
|
||||
- Remove unneeded BuildRequires: libstdc++-static
|
||||
|
||||
* Thu Sep 19 2019 sguelton@redhat.com - 9.0.0-1
|
||||
- 9.0.0 Release
|
||||
|
||||
* Wed Sep 18 2019 sguelton@redhat.com - 9.0.0-0.5.rc3
|
||||
- Support avr target, see rhbz#1718492
|
||||
|
||||
* Tue Sep 10 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.4.rc3
|
||||
- Split out test executables into their own export file
|
||||
|
||||
* Fri Sep 06 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.3.rc3
|
||||
- Fix patch for splitting out static library exports
|
||||
|
||||
* Fri Aug 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.2.rc3
|
||||
- 9.0.0-rc3 Release
|
||||
|
||||
* Thu Aug 01 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.1.rc2
|
||||
- 9.0.0-rc2 Release
|
||||
|
||||
* Tue Jul 30 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-9
|
||||
- Sync with llvm8.0 spec file
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-8.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Jul 17 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-8
|
||||
- Add provides for the major version of sub-packages
|
||||
|
||||
* Fri May 17 2019 sguelton@redhat.com - 8.0.0-7
|
||||
- Fix conflicts between llvm-static = 8 and llvm-dev < 8 around LLVMStaticExports.cmake
|
||||
|
||||
* Wed Apr 24 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-6
|
||||
- Make sure we aren't passing -g on s390x
|
||||
|
||||
* Sat Mar 30 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-5
|
||||
- Enable build rpath while keeping install rpath disabled
|
||||
|
||||
* Wed Mar 27 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-4
|
||||
- Backport r351577 from trunk to fix ninja check failures
|
||||
|
||||
* Tue Mar 26 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-3
|
||||
- Fix ninja check
|
||||
|
||||
* Fri Mar 22 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-2
|
||||
- llvm-test fixes
|
||||
|
||||
* Wed Mar 20 2019 sguelton@redhat.com - 8.0.0-1
|
||||
- 8.0.0 final
|
||||
|
||||
* Fri Mar 15 2019 sguelton@redhat.com - 8.0.0-0.6.rc4
|
||||
- Activate all backends (rhbz#1689031)
|
||||
|
||||
* Tue Mar 12 2019 sguelton@redhat.com - 8.0.0-0.5.rc4
|
||||
- 8.0.0 Release candidate 4
|
||||
|
||||
* Mon Mar 4 2019 sguelton@redhat.com - 8.0.0-0.4.rc3
|
||||
- Move some binaries to -test package, cleanup specfile
|
||||
|
||||
* Mon Mar 4 2019 sguelton@redhat.com - 8.0.0-0.3.rc3
|
||||
- 8.0.0 Release candidate 3
|
||||
|
||||
* Fri Feb 22 2019 sguelton@redhat.com - 8.0.0-0.2.rc2
|
||||
- 8.0.0 Release candidate 2
|
||||
|
||||
* Sat Feb 9 2019 sguelton@redhat.com - 8.0.0-0.1.rc1
|
||||
- 8.0.0 Release candidate 1
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.1-2.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Jan 21 2019 Josh Stone <jistone@redhat.com> - 7.0.1-2
|
||||
- Fix discriminators in metadata, rhbz#1668033
|
||||
|
||||
* Mon Dec 17 2018 sguelton@redhat.com - 7.0.1-1
|
||||
- 7.0.1 release
|
||||
|
||||
* Tue Dec 04 2018 sguelton@redhat.com - 7.0.0-5
|
||||
- Ensure rpmlint passes on specfile
|
||||
|
||||
* Sat Nov 17 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-4
|
||||
- Install testing libraries for unittests
|
||||
|
||||
* Sat Oct 27 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-3
|
||||
- Fix running unittests as not-root user
|
||||
|
||||
* Thu Sep 27 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-2
|
||||
- Fixes for llvm-test package:
|
||||
- Add some missing Requires
|
||||
- Add --threads option to run-lit-tests script
|
||||
- Set PATH so lit can find tools like count, not, etc.
|
||||
- Don't hardcode tools directory to /usr/lib64/llvm
|
||||
- Fix typo in yaml-bench define
|
||||
- Only print information about failing tests
|
||||
|
||||
* Fri Sep 21 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-1
|
||||
- 7.0.0 Release
|
||||
|
||||
* Thu Sep 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.15.rc3
|
||||
- Disable rpath on install LLVM and related sub-projects
|
||||
|
||||
* Wed Sep 12 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.14.rc3
|
||||
- Remove rpath from executables and libraries
|
||||
|
||||
* Tue Sep 11 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.13.rc3
|
||||
- Re-enable arm and aarch64 targets on x86_64
|
||||
|
||||
* Mon Sep 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.12.rc3
|
||||
- 7.0.0-rc3 Release
|
||||
|
||||
* Fri Sep 07 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.11.rc2
|
||||
- Use python3 shebang for opt-viewewr scripts
|
||||
|
||||
* Thu Aug 30 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.10.rc2
|
||||
- Drop all uses of python2 from lit tests
|
||||
|
||||
* Thu Aug 30 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.9.rc2
|
||||
- Build the gold plugin on all supported architectures
|
||||
|
||||
* Wed Aug 29 2018 Kevin Fenzi <kevin@scrye.com> - 7.0.0-0.8.rc2
|
||||
- Re-enable debuginfo to avoid 25x size increase.
|
||||
|
||||
* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.7.rc2
|
||||
- 7.0.0-rc2 Release
|
||||
|
||||
* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.6.rc1
|
||||
- Guard valgrind usage with valgrind_arches macro
|
||||
|
||||
* Thu Aug 23 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.5.rc1
|
||||
- Package lit tests and googletest sources.
|
||||
|
||||
* Mon Aug 20 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.4.rc1
|
||||
- Re-enable AMDGPU target on ARM rhbz#1618922
|
||||
|
||||
* Mon Aug 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.3.rc1
|
||||
- Drop references to TestPlugin.so from cmake files
|
||||
|
||||
* Fri Aug 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.2.rc1
|
||||
- Fixes for lit tests
|
||||
|
||||
* Fri Aug 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.1.rc1
|
||||
- 7.0.0-rc1 Release
|
||||
- Reduce number of enabled targets on all arches.
|
||||
- Drop s390 detection patch, LLVM does not support s390 codegen.
|
||||
|
||||
* Mon Aug 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-6
|
||||
- Backport some fixes needed by mesa and rust
|
||||
|
||||
* Thu Jul 26 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-5
|
||||
- Move libLLVM-6.0.so to llvm6.0-libs.
|
||||
|
||||
* Mon Jul 23 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-4
|
||||
- Rebuild because debuginfo stripping failed with the previous build
|
||||
|
||||
* Fri Jul 13 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-3
|
||||
- Sync specfile with llvm6.0 package
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Jun 25 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-1
|
||||
- 6.0.1 Release
|
||||
|
||||
* Thu Jun 07 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.4.rc2
|
||||
- 6.0.1-rc2
|
||||
|
||||
* Wed Jun 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.3.rc1
|
||||
- Re-enable all targets to avoid breaking the ABI.
|
||||
|
||||
* Mon Jun 04 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.2.rc1
|
||||
- Reduce the number of enabled targets based on the architecture
|
||||
|
||||
* Thu May 10 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.1.rc1
|
||||
- 6.0.1 rc1
|
||||
|
||||
* Tue Mar 27 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-11
|
||||
- Re-enable arm tests that used to hang
|
||||
|
||||
* Thu Mar 22 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-10
|
||||
- Fix testcase in backported patch
|
||||
|
||||
* Tue Mar 20 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-9
|
||||
- Prevent external projects from linking against both static and shared
|
||||
libraries. rhbz#1558657
|
||||
|
||||
* Mon Mar 19 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-8
|
||||
- Backport r327651 from trunk rhbz#1554349
|
||||
|
||||
* Fri Mar 16 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-7
|
||||
- Filter out cxxflags and cflags from llvm-config that aren't supported by clang
|
||||
- rhbz#1556980
|
||||
|
||||
* Wed Mar 14 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-6
|
||||
- Enable symbol versioning in libLLVM.so
|
||||
|
||||
* Wed Mar 14 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-5
|
||||
- Stop statically linking libstdc++. This is no longer required by Steam
|
||||
client, but the steam installer still needs a work-around which should
|
||||
be handled in the steam package.
|
||||
* Wed Mar 14 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-4
|
||||
- s/make check/ninja check/
|
||||
|
||||
* Fri Mar 09 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-3
|
||||
- Backport fix for compile time regression on rust rhbz#1552915
|
||||
|
||||
* Thu Mar 08 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-2
|
||||
- Build with Ninja: This reduces RPM build time on a 6-core x86_64 builder
|
||||
from 82 min to 52 min.
|
||||
|
||||
* Thu Mar 08 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-1
|
||||
- 6.0.0 Release
|
||||
|
||||
* Thu Mar 08 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.5.rc2
|
||||
- Reduce debuginfo size on i686 to avoid OOM errors during linking
|
||||
|
||||
* Fri Feb 09 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.4.rc2
|
||||
- 6.0.1 rc2
|
||||
|
||||
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.0.0-0.3.rc1
|
||||
- Escape macros in %%changelog
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-0.2.rc1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.1.rc1
|
||||
- 6.0.1 rc1
|
||||
|
||||
* Tue Dec 19 2017 Tom Stellard <tstellar@redhat.com> - 5.0.1-1
|
||||
- 5.0.1 Release
|
||||
|
||||
* Mon Nov 20 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-5
|
||||
- Backport debuginfo fix for rust
|
||||
|
||||
* Fri Nov 03 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-4
|
||||
- Reduce debuginfo size for ARM
|
||||
|
||||
* Tue Oct 10 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-2
|
||||
- Reduce memory usage on ARM by disabling debuginfo and some non-ARM targets.
|
||||
|
||||
* Mon Sep 25 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-1
|
||||
- 5.0.0 Release
|
||||
|
||||
* Mon Sep 18 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-6
|
||||
- Add Requires: libedit-devel for llvm-devel
|
||||
|
||||
* Fri Sep 08 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-5
|
||||
- Enable libedit backend for LineEditor API
|
||||
|
||||
* Fri Aug 25 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-4
|
||||
- Enable extra functionality when run the LLVM JIT under valgrind.
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 21 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-1
|
||||
- 4.0.1 Release
|
||||
|
||||
* Thu Jun 15 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-6
|
||||
- Install llvm utils
|
||||
|
||||
* Thu Jun 08 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-5
|
||||
- Fix docs-llvm-man target
|
||||
|
||||
* Mon May 01 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-4
|
||||
- Make cmake files no longer depend on static libs (rhbz 1388200)
|
||||
|
||||
* Tue Apr 18 2017 Josh Stone <jistone@redhat.com> - 4.0.0-3
|
||||
- Fix computeKnownBits for ARMISD::CMOV (rust-lang/llvm#67)
|
||||
|
||||
* Mon Apr 03 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-2
|
||||
- Simplify spec with rpm macros.
|
||||
|
||||
* Thu Mar 23 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-1
|
||||
- LLVM 4.0.0 Final Release
|
||||
|
||||
* Wed Mar 22 2017 tstellar@redhat.com - 3.9.1-6
|
||||
- Fix %%postun sep for -devel package.
|
||||
|
||||
* Mon Mar 13 2017 Tom Stellard <tstellar@redhat.com> - 3.9.1-5
|
||||
- Disable failing tests on ARM.
|
||||
|
||||
* Sun Mar 12 2017 Peter Robinson <pbrobinson@fedoraproject.org> 3.9.1-4
|
||||
- Fix missing mask on relocation for aarch64 (rhbz 1429050)
|
||||
|
||||
* Wed Mar 01 2017 Dave Airlie <airlied@redhat.com> - 3.9.1-3
|
||||
- revert upstream radeonsi breaking change.
|
||||
|
||||
* Thu Feb 23 2017 Josh Stone <jistone@redhat.com> - 3.9.1-2
|
||||
- disable sphinx warnings-as-errors
|
||||
|
||||
* Fri Feb 10 2017 Orion Poplawski <orion@cora.nwra.com> - 3.9.1-1
|
||||
- llvm 3.9.1
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Nov 29 2016 Josh Stone <jistone@redhat.com> - 3.9.0-7
|
||||
- Apply backports from rust-lang/llvm#55, #57
|
||||
|
||||
* Tue Nov 01 2016 Dave Airlie <airlied@gmail.com - 3.9.0-6
|
||||
- rebuild for new arches
|
||||
|
||||
* Wed Oct 26 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-5
|
||||
- apply the patch from -4
|
||||
|
||||
* Wed Oct 26 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-4
|
||||
- add fix for lldb out-of-tree build
|
||||
|
||||
* Mon Oct 17 2016 Josh Stone <jistone@redhat.com> - 3.9.0-3
|
||||
- Apply backports from rust-lang/llvm#47, #48, #53, #54
|
||||
|
||||
* Sat Oct 15 2016 Josh Stone <jistone@redhat.com> - 3.9.0-2
|
||||
- Apply an InstCombine backport via rust-lang/llvm#51
|
||||
|
||||
* Wed Sep 07 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-1
|
||||
- llvm 3.9.0
|
||||
- upstream moved where cmake files are packaged.
|
||||
- upstream dropped CppBackend
|
||||
|
||||
* Wed Jul 13 2016 Adam Jackson <ajax@redhat.com> - 3.8.1-1
|
||||
- llvm 3.8.1
|
||||
- Add mips target
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp
|
||||
index 29713ed..0d23694 100644
|
||||
--- a/tools/clang/lib/Driver/Tools.cpp
|
||||
+++ b/tools/clang/lib/Driver/Tools.cpp
|
||||
@@ -747,7 +747,7 @@ static StringRef getARMFloatABI(const Driver &D,
|
||||
FloatABI = "hard";
|
||||
break;
|
||||
case llvm::Triple::GNUEABI:
|
||||
- FloatABI = "softfp";
|
||||
+ FloatABI = Triple.getVendorName() == "hardfloat" ? "hard" : "softfp";
|
||||
break;
|
||||
case llvm::Triple::EABI:
|
||||
// EABI is always AAPCS, and if it was not marked 'hard', it's softfp
|
|
@ -0,0 +1,58 @@
|
|||
#!/bin/bash
|
||||
|
||||
usage() {
|
||||
echo "usage: `basename $0` [OPTIONS]"
|
||||
echo " --threads NUM The number of threads to use for running tests."
|
||||
echo " --multilib-arch ARCH Use this option to test 32-bit libs/binaries on"
|
||||
echo " 64-bit hosts."
|
||||
}
|
||||
|
||||
threads_arg=''
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
--threads)
|
||||
shift
|
||||
threads_arg="--threads $1"
|
||||
;;
|
||||
--multilib-arch)
|
||||
shift
|
||||
ARCH=$1
|
||||
;;
|
||||
* )
|
||||
echo "unknown option: $1"
|
||||
echo ""
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set -xe
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
ARCH=`rpm --eval '%_arch'`
|
||||
fi
|
||||
|
||||
case $ARCH in
|
||||
arm)
|
||||
;&
|
||||
i686)
|
||||
LIB_DIR="/usr/lib/"
|
||||
;;
|
||||
*)
|
||||
LIB_DIR="/usr/lib64/"
|
||||
;;
|
||||
esac
|
||||
|
||||
cd $(mktemp -d)
|
||||
ln -s /usr/include include
|
||||
tar -xzf /usr/share/llvm/src/test.tar.gz
|
||||
ln -s $ARCH.site.cfg.py test/lit.site.cfg.py
|
||||
ln -s $ARCH.site.cfg.py test/Unit/lit.site.cfg.py
|
||||
lit -v -s $threads_arg test \
|
||||
-Dllvm_obj_root=`pwd` \
|
||||
-Dllvm_test_root=`pwd`/test \
|
||||
-Dllvm_unittest_bindir=$LIB_DIR/llvm \
|
||||
-Dllvm_shlib_dir=$LIB_DIR
|
3
sources
3
sources
|
@ -1 +1,2 @@
|
|||
538467e6028bbc9259b1e6e015d25845 llvm-3.8.1.src.tar.xz
|
||||
SHA512 (llvm-10.0.0.src.tar.xz) = 7dc961aacee3a01ecc002ff2b688a2ef50661856d2abd5ecc90566ffcad7566e4976736cd339ea96592e452cd5a17aaceba9712b2effec805661cca8ff020ee7
|
||||
SHA512 (llvm-10.0.0.src.tar.xz.sig) = 2e4c61af5d84db4bc7a8ab51367210c529ae02e401b7a73a449f79bf9d92654ccf36fdef0f552c8850df0e94bcafce2359180ad0cdf720be7c874a782a936878
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
1
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
dnf download --disablerepo=* --enablerepo=test-llvm --source llvm
|
||||
|
||||
# The src.rpm is available in the directory the test run from.
|
||||
set +e
|
||||
mock --resultdir=. --old-chroot --with compat_build --rebuild *.src.rpm
|
||||
if [ $? -ne 0 ]; then
|
||||
cat root.log
|
||||
cat build.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
|
||||
standard-inventory-qcow2:
|
||||
qemu:
|
||||
m: 2G
|
|
@ -0,0 +1,30 @@
|
|||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
required_packages:
|
||||
- llvm-test
|
||||
- rust
|
||||
- cargo
|
||||
tests:
|
||||
- regression-tests:
|
||||
dir: ./
|
||||
run: /usr/libexec/tests/llvm/run-lit-tests --threads 1
|
||||
- rust-sanity:
|
||||
dir: ./
|
||||
run: cargo new hello && cd hello && cargo run
|
||||
# There is a bug in the build process when it runs out of disk space
|
||||
# while stripping binaries, which causes the strip to fail, but does
|
||||
# not fail the build. This results in a libLLVM.so that is over 2GB
|
||||
# which breaks the nightly compose. So this test checks that libLLVM.so
|
||||
# is less than 100MB to ensure it was successfully stripped.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1793250
|
||||
- libllvm-size:
|
||||
dir: ./
|
||||
run: test `stat -L -c %s /usr/lib64/libLLVM.so` -lt 100000000
|
||||
# This test ensures that the spec file still builds correctly with
|
||||
# %global compat_build 1
|
||||
# FIXME: This fails, because the CI system has a hard-coded timeout of 4
|
||||
# hours.
|
||||
#- build-compat
|
|
@ -0,0 +1,31 @@
|
|||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# Make sure we uninstall all sub-packages, so we can test that the cmake files
|
||||
# in llvm-devel are useable when only llvm-devel is installed.
|
||||
- name: Uninstall llvm sub-packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
tags: classic
|
||||
with_items:
|
||||
- llvm
|
||||
- llvm-devel
|
||||
- llvm-doc
|
||||
- llvm-googletest
|
||||
- llvm-libs
|
||||
- llvm-static
|
||||
- llvm-test
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags: classic
|
||||
required_packages:
|
||||
- llvm-devel
|
||||
- cmake
|
||||
- ninja-build
|
||||
- gcc
|
||||
- gcc-c++
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/llvm.git"
|
||||
dest: "llvm"
|
||||
tests:
|
||||
- llvm/llvm-devel-cmake
|
Loading…
Reference in New Issue