diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 30ba40d..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/llvm-7.0.1.src.tar.xz diff --git a/0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch b/0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch deleted file mode 100644 index d2f7b14..0000000 --- a/0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 974c288631ef8d05bf3a3f91b32bf38eae16e5c8 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Mon, 6 Mar 2017 13:55:55 +0000 -Subject: [PATCH] CMake: Add LLVM_UTILS_INSTALL_DIR option - -This is like the LLVM_TOOLS_INSTALL_DIR option, but for the utils -that are installed when the LLVM_INSTALL_UTILS. This option -defaults to 'bin' to remain consistent with the current behavior, but -distros may want to install these to libexec/llvm. ---- - CMakeLists.txt | 3 +++ - cmake/modules/AddLLVM.cmake | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 58ee3cf..f93405c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -281,6 +281,9 @@ set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name - set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - -+set(LLVM_UTILS_INSTALL_DIR "bin" CACHE STRING "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to 'bin')") -+mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) -+ - # They are used as destination of target generators. - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 7f7608c..0da8162 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -864,7 +864,7 @@ macro(add_llvm_utility name) - set_target_properties(${name} PROPERTIES FOLDER "Utils") - if( LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS ) - install (TARGETS ${name} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} - COMPONENT ${name}) - if (NOT CMAKE_CONFIGURATION_TYPES) - add_custom_target(install-${name} --- -2.9.3 - diff --git a/0001-CMake-Don-t-prefer-python2.7.patch b/0001-CMake-Don-t-prefer-python2.7.patch deleted file mode 100644 index ddea299..0000000 --- a/0001-CMake-Don-t-prefer-python2.7.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1e0f1c5481a96d760f7840d4dde103353a0131f8 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 30 Aug 2018 11:38:51 -0700 -Subject: [PATCH] CMake: Don't prefer python2.7 - ---- - CMakeLists.txt | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 31df640..2603f1c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -613,10 +613,6 @@ message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}") - - include(HandleLLVMOptions) - --# Verify that we can find a Python 2 interpreter. Python 3 is unsupported. --# FIXME: We should support systems with only Python 3, but that requires work --# on LLDB. --set(Python_ADDITIONAL_VERSIONS 2.7) - include(FindPythonInterp) - if( NOT PYTHONINTERP_FOUND ) - message(FATAL_ERROR --- -1.8.3.1 - diff --git a/0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch b/0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch deleted file mode 100644 index abff62d..0000000 --- a/0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch +++ /dev/null @@ -1,42 +0,0 @@ -From af79e4116c4476153869e1fd4aa30c87d4c7c21e Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Mon, 15 May 2017 09:34:23 +0000 -Subject: [PATCH] CMake: Fix docs-llvm-man target when clang+llvm is in the - same source tree - -Summary: -This was broken by r302499. Configuring with -DLLVM_BUILD_DOCS=ON would -cause the docs-llvm-man target not to be created. - -Reviewers: anemet, beanz - -Reviewed By: anemet - -Subscribers: llvm-commits, mgorny - -Differential Revision: https://reviews.llvm.org/D33146 - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303042 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - cmake/modules/AddSphinxTarget.cmake | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake -index c3a676d..4540c5c 100644 ---- a/cmake/modules/AddSphinxTarget.cmake -+++ b/cmake/modules/AddSphinxTarget.cmake -@@ -1,9 +1,9 @@ - - # Create sphinx target --if (LLVM_ENABLE_SPHINX AND NOT TARGET sphinx) -+if (LLVM_ENABLE_SPHINX) - message(STATUS "Sphinx enabled.") - find_package(Sphinx REQUIRED) -- if (LLVM_BUILD_DOCS) -+ if (LLVM_BUILD_DOCS AND NOT TARGET sphinx) - add_custom_target(sphinx ALL) - endif() - else() --- -1.8.3.1 - diff --git a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch b/0001-CMake-Split-static-library-exports-into-their-own-ex.patch deleted file mode 100644 index 903821e..0000000 --- a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch +++ /dev/null @@ -1,86 +0,0 @@ -From f9e66a883e1fb748e6ac826fde188efaae249361 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Sat, 29 Apr 2017 02:03:23 +0000 -Subject: [PATCH] CMake: Split static library exports into their own export - file - -Summary: -This is to better support distros which split the static libraries into -their own package. - -The current problem is that any project the includes LLVMConfig.cmake -will fail to configure unless the static libraries are installed. This -is because LLVMConfig.cmake includes LLVMExports.cmake, which throws an -error if it can't find files linked to one of the exported targets. - -This patch resolves the problem by putting the static library targets -into their own export file, LLVMStaticExports.cmake. This file -is optionally included by LLVMConfig.cmake, so distros can put this -new file in their static library package to make LLVMConfig.cmake -no longer depend on these libraries when they are not installed. - -Reviewers: beanz, mgorny, chapuni - -Subscribers: llvm-commits - -Differential Revision: https://reviews.llvm.org/D32668 ---- - cmake/modules/AddLLVM.cmake | 6 +++++- - cmake/modules/CMakeLists.txt | 3 +++ - cmake/modules/LLVMConfig.cmake.in | 2 ++ - 3 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index fd5627e..78f106f 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -635,7 +635,11 @@ macro(add_llvm_library name) - - if(${name} 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/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index 6074e83..e9fcb11 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -91,6 +91,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 -@@ -107,6 +108,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/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in -index 0772016..f471625 100644 ---- a/cmake/modules/LLVMConfig.cmake.in -+++ b/cmake/modules/LLVMConfig.cmake.in -@@ -78,6 +78,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 - diff --git a/0001-Don-t-set-rpath-when-installing.patch b/0001-Don-t-set-rpath-when-installing.patch deleted file mode 100644 index d92a387..0000000 --- a/0001-Don-t-set-rpath-when-installing.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e67ace2ecb42c24e124f1738dc67b22055a22500 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 13 Sep 2018 10:10:08 -0700 -Subject: [PATCH] Don't set rpath when installing - ---- - cmake/modules/AddLLVM.cmake | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index ce2057f..de309b5 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -1621,6 +1621,7 @@ function(llvm_codesign name) - endfunction() - - function(llvm_setup_rpath name) -+ return() - if(CMAKE_INSTALL_RPATH) - return() - endif() --- -1.8.3.1 - diff --git a/0001-Ensure-that-variant-part-discriminator-is-read-by-Me.patch b/0001-Ensure-that-variant-part-discriminator-is-read-by-Me.patch deleted file mode 100644 index d6380eb..0000000 --- a/0001-Ensure-that-variant-part-discriminator-is-read-by-Me.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2ad5ac11b17dac347d29191872b2b3d601bbcd1f Mon Sep 17 00:00:00 2001 -From: Jonas Devlieghere -Date: Fri, 21 Sep 2018 12:03:14 +0000 -Subject: [PATCH 1/2] Ensure that variant part discriminator is read by - MetadataLoader - -https://reviews.llvm.org/D42082 introduced variant parts to debug info -in LLVM. Subsequent work on the Rust compiler has found a bug in that -patch; namely, there is a path in MetadataLoader that fails to restore -the discriminator. - -This patch fixes the bug. - -Patch by: Tom Tromey - -Differential revision: https://reviews.llvm.org/D52340 - -llvm-svn: 342725 ---- - llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 2 +- - llvm/test/Assembler/debug-variant-discriminator.ll | 14 ++++++++++++++ - 2 files changed, 15 insertions(+), 1 deletion(-) - create mode 100644 llvm/test/Assembler/debug-variant-discriminator.ll - -diff --git a/lib/Bitcode/Reader/MetadataLoader.cpp b/lib/Bitcode/Reader/MetadataLoader.cpp -index 011c41e2cecd..a7b542efc19e 100644 ---- a/lib/Bitcode/Reader/MetadataLoader.cpp -+++ b/lib/Bitcode/Reader/MetadataLoader.cpp -@@ -1308,7 +1308,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata( - (Context, Tag, Name, File, Line, Scope, BaseType, - SizeInBits, AlignInBits, OffsetInBits, Flags, - Elements, RuntimeLang, VTableHolder, TemplateParams, -- Identifier)); -+ Identifier, Discriminator)); - if (!IsNotUsedInTypeRef && Identifier) - MetadataList.addTypeRef(*Identifier, *cast(CT)); - -diff --git a/test/Assembler/debug-variant-discriminator.ll b/test/Assembler/debug-variant-discriminator.ll -new file mode 100644 -index 000000000000..5be001cad6be ---- /dev/null -+++ b/test/Assembler/debug-variant-discriminator.ll -@@ -0,0 +1,14 @@ -+; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s -+; RUN: verify-uselistorder %s -+ -+; CHECK: !named = !{!0, !1, !2} -+!named = !{!0, !1, !2} -+ -+; CHECK: !0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer") -+; CHECK-NEXT: !1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2) -+; CHECK-NEXT: !2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial) -+; CHECK-NEXT: !3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) -+!0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer") -+!1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2) -+!2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial) -+!3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) --- -2.20.1 - diff --git a/0001-Filter-out-cxxflags-not-supported-by-clang.patch b/0001-Filter-out-cxxflags-not-supported-by-clang.patch deleted file mode 100644 index 31b819b..0000000 --- a/0001-Filter-out-cxxflags-not-supported-by-clang.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5f7fd92155db77c7608e3a07e5dcfad1ec7bd4e4 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Fri, 16 Mar 2018 07:52:33 -0700 -Subject: [PATCH] Filter out cxxflags not supported by clang - ---- - tools/llvm-config/CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt -index a0bd36c..4193b0e 100644 ---- a/tools/llvm-config/CMakeLists.txt -+++ b/tools/llvm-config/CMakeLists.txt -@@ -34,7 +34,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR}) - set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR}) - set(LLVM_CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") - set(LLVM_CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") -+STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS}) -+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS}) - set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") -+STRING(REGEX REPLACE "-mcet" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS}) -+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS}) - set(LLVM_BUILD_SYSTEM cmake) - set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) - set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") --- -1.8.3.1 - diff --git a/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch b/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch deleted file mode 100644 index 2fae157..0000000 --- a/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a481ab548d038c1dfd52ee211b997e2dd33ff5ae Mon Sep 17 00:00:00 2001 -From: Hal Finkel -Date: Wed, 6 Sep 2017 03:08:26 +0000 -Subject: [PATCH] [PowerPC] Don't use xscvdpspn on the P7 - -xscvdpspn was not introduced until the P8, so don't use it on the P7. Fixes a -regression introduced in r288152. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312612 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Target/PowerPC/PPCISelLowering.cpp | 9 ++++++--- - test/CodeGen/PowerPC/fp-splat.ll | 27 +++++++++++++++++++++++++++ - 2 files changed, 33 insertions(+), 3 deletions(-) - create mode 100644 test/CodeGen/PowerPC/fp-splat.ll - -diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp -index 74dedaf..6295693 100644 ---- a/lib/Target/PowerPC/PPCISelLowering.cpp -+++ b/lib/Target/PowerPC/PPCISelLowering.cpp -@@ -7463,9 +7463,11 @@ static SDValue BuildVSLDOI(SDValue LHS, SDValue RHS, unsigned Amt, EVT VT, - /// - The node is a "load-and-splat" - /// In all other cases, we will choose to keep the BUILD_VECTOR. - static bool haveEfficientBuildVectorPattern(BuildVectorSDNode *V, -- bool HasDirectMove) { -+ bool HasDirectMove, -+ bool HasP8Vector) { - EVT VecVT = V->getValueType(0); -- bool RightType = VecVT == MVT::v2f64 || VecVT == MVT::v4f32 || -+ bool RightType = VecVT == MVT::v2f64 || -+ (HasP8Vector && VecVT == MVT::v4f32) || - (HasDirectMove && (VecVT == MVT::v2i64 || VecVT == MVT::v4i32)); - if (!RightType) - return false; -@@ -7627,7 +7629,8 @@ SDValue PPCTargetLowering::LowerBUILD_VECTOR(SDValue Op, - // lowered to VSX instructions under certain conditions. - // Without VSX, there is no pattern more efficient than expanding the node. - if (Subtarget.hasVSX() && -- haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove())) -+ haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove(), -+ Subtarget.hasP8Vector())) - return Op; - return SDValue(); - } -diff --git a/test/CodeGen/PowerPC/fp-splat.ll b/test/CodeGen/PowerPC/fp-splat.ll -new file mode 100644 -index 0000000..9b1ab21 ---- /dev/null -+++ b/test/CodeGen/PowerPC/fp-splat.ll -@@ -0,0 +1,27 @@ -+; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P8 -check-prefix=CHECK -+; RUN: llc -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P7 -check-prefix=CHECK -+ -+define <4 x float> @test1(float %a) { -+entry: -+; CHECK-LABEL: test1 -+ %vecins = insertelement <4 x float> undef, float %a, i32 0 -+ %vecins1 = insertelement <4 x float> %vecins, float %a, i32 1 -+ %vecins2 = insertelement <4 x float> %vecins1, float %a, i32 2 -+ %vecins3 = insertelement <4 x float> %vecins2, float %a, i32 3 -+ ret <4 x float> %vecins3 -+; CHECK-P8: xscvdpspn -+; CHECK-P7-NOT: xscvdpspn -+; CHECK: blr -+} -+ -+define <2 x double> @test2(double %a) { -+entry: -+; CHECK-LABEL: test2 -+ %vecins = insertelement <2 x double> undef, double %a, i32 0 -+ %vecins1 = insertelement <2 x double> %vecins, double %a, i32 1 -+ ret <2 x double> %vecins1 -+; CHECK-P8: xxspltd -+; CHECK-P7: xxspltd -+; CHECK: blr -+} -+ --- -1.8.3.1 - diff --git a/0001-Revert-Revert-CMake-Move-sphinx-detection-into-AddSp.patch b/0001-Revert-Revert-CMake-Move-sphinx-detection-into-AddSp.patch deleted file mode 100644 index 828e703..0000000 --- a/0001-Revert-Revert-CMake-Move-sphinx-detection-into-AddSp.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 9c50cf0c6d8f0b11cd76a28cc4ef9bca6ef732e0 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Tue, 9 May 2017 01:41:28 +0000 -Subject: [PATCH] Revert "Revert "CMake: Move sphinx detection into - AddSphinxTarget.cmake"" - -This reverts commit r302054. - -Re-commit now that I have fixes for clang/lld. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302499 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - cmake/config-ix.cmake | 10 ---------- - cmake/modules/AddSphinxTarget.cmake | 13 +++++++++++++ - docs/CMakeLists.txt | 2 +- - 3 files changed, 14 insertions(+), 11 deletions(-) - -diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake -index 0331d0f..de8e9bf 100755 ---- a/cmake/config-ix.cmake -+++ b/cmake/config-ix.cmake -@@ -530,16 +530,6 @@ else() - message(STATUS "Doxygen disabled.") - endif() - --if (LLVM_ENABLE_SPHINX) -- message(STATUS "Sphinx enabled.") -- find_package(Sphinx REQUIRED) -- if (LLVM_BUILD_DOCS) -- add_custom_target(sphinx ALL) -- endif() --else() -- message(STATUS "Sphinx disabled.") --endif() -- - set(LLVM_BINDINGS "") - if(WIN32) - message(STATUS "Go bindings disabled.") -diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake -index cfc7f38..c3a676d 100644 ---- a/cmake/modules/AddSphinxTarget.cmake -+++ b/cmake/modules/AddSphinxTarget.cmake -@@ -1,3 +1,16 @@ -+ -+# Create sphinx target -+if (LLVM_ENABLE_SPHINX AND NOT TARGET sphinx) -+ message(STATUS "Sphinx enabled.") -+ find_package(Sphinx REQUIRED) -+ if (LLVM_BUILD_DOCS) -+ add_custom_target(sphinx ALL) -+ endif() -+else() -+ message(STATUS "Sphinx disabled.") -+endif() -+ -+ - # Handy function for creating the different Sphinx targets. - # - # ``builder`` should be one of the supported builders used by -diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt -index 6dff219..4437610 100644 ---- a/docs/CMakeLists.txt -+++ b/docs/CMakeLists.txt -@@ -103,8 +103,8 @@ endif() - endif() - - if (LLVM_ENABLE_SPHINX) -+ include(AddSphinxTarget) - if (SPHINX_FOUND) -- include(AddSphinxTarget) - if (${SPHINX_OUTPUT_HTML}) - add_sphinx_target(html llvm) - endif() --- -1.8.3.1 - diff --git a/0001-unittests-Don-t-install-TestPlugin.so.patch b/0001-unittests-Don-t-install-TestPlugin.so.patch deleted file mode 100644 index f614036..0000000 --- a/0001-unittests-Don-t-install-TestPlugin.so.patch +++ /dev/null @@ -1,62 +0,0 @@ -From cf1fb43186fd4d97ee2de0b222d44ecc500f82c7 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Mon, 13 Aug 2018 12:22:28 -0700 -Subject: [PATCH] unittests: Don't install TestPlugin.so - -add_llvm_loadable_module adds an install target by default, but this -module is only used for a unit test, so we don't need to instal it. - -This patch adds a NO_INSTALL option to add_llvm_loadable_module that -can be used to disable installation of modules. ---- - cmake/modules/AddLLVM.cmake | 13 ++++++++----- - unittests/Passes/CMakeLists.txt | 2 +- - 2 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 24ef5e4..1637ba6 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -671,7 +671,8 @@ macro(add_llvm_library name) - endmacro(add_llvm_library name) - - macro(add_llvm_loadable_module name) -- llvm_add_library(${name} MODULE ${ARGN}) -+ cmake_parse_arguments(ARG "NO_INSTALL" "" "" ${ARGN}) -+ llvm_add_library(${name} MODULE ${ARG_UNPARSED_ARGUMENTS}) - if(NOT TARGET ${name}) - # Add empty "phony" target - add_custom_target(${name}) -@@ -693,10 +694,12 @@ macro(add_llvm_loadable_module name) - set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) - endif() - -- install(TARGETS ${name} -- ${export_to_llvmexports} -- LIBRARY DESTINATION ${dlldir} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ if (NOT ARG_NO_INSTALL) -+ install(TARGETS ${name} -+ ${export_to_llvmexports} -+ LIBRARY DESTINATION ${dlldir} -+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ endif() - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endif() -diff --git a/unittests/Passes/CMakeLists.txt b/unittests/Passes/CMakeLists.txt -index d90df20..99390e6 100644 ---- a/unittests/Passes/CMakeLists.txt -+++ b/unittests/Passes/CMakeLists.txt -@@ -14,7 +14,7 @@ add_llvm_unittest(PluginsTests - export_executable_symbols(PluginsTests) - - set(LLVM_LINK_COMPONENTS) --add_llvm_loadable_module(TestPlugin -+add_llvm_loadable_module(TestPlugin NO_INSTALL - TestPlugin.cpp - ) - --- -1.8.3.1 - diff --git a/0002-test-Fix-Assembler-debug-info.ll.patch b/0002-test-Fix-Assembler-debug-info.ll.patch deleted file mode 100644 index d022d97..0000000 --- a/0002-test-Fix-Assembler-debug-info.ll.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9bfebd6e47cb8513dcd7f7203f29489bdec7bfe4 Mon Sep 17 00:00:00 2001 -From: Jonas Devlieghere -Date: Fri, 21 Sep 2018 12:28:44 +0000 -Subject: [PATCH 2/2] [test] Fix Assembler/debug-info.ll - -Update Assembler/debug-info.ll to contain discriminator. - -llvm-svn: 342727 ---- - llvm/test/Assembler/debug-info.ll | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/Assembler/debug-info.ll b/test/Assembler/debug-info.ll -index 5dfb8cd93435..605afc3f1587 100644 ---- a/test/Assembler/debug-info.ll -+++ b/test/Assembler/debug-info.ll -@@ -83,7 +83,7 @@ - ; CHECK-NEXT: !32 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f") - !35 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f") - --; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64) -+; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64, discriminator: !34) - ; CHECK-NEXT: !34 = !DIDerivedType(tag: DW_TAG_member, scope: !33, baseType: !35, size: 64, align: 64, flags: DIFlagArtificial) - ; CHECK-NEXT: !35 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) - !36 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !16, size: 64, discriminator: !37) --- -2.20.1 - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/llvm.spec b/llvm.spec deleted file mode 100644 index bd6a564..0000000 --- a/llvm.spec +++ /dev/null @@ -1,773 +0,0 @@ -# Components enabled if supported by target architecture: -%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64} s390x -%ifarch %{gold_arches} - %bcond_without gold -%else - %bcond_with gold -%endif - -%global compat_build 1 - -%global llvm_bindir %{_libdir}/%{name} -%global build_llvm_bindir %{buildroot}%{llvm_bindir} -%global maj_ver 7 -%global min_ver 0 -%global patch_ver 1 -#%%global rc_ver 3 - -%ifarch s390x -%global llvm_targets SystemZ;BPF -%endif -%ifarch ppc64 ppc64le -%global llvm_targets PowerPC;AMDGPU;BPF -%endif -%ifarch %ix86 x86_64 -# ARM/AARCH64 enabled due to rhbz#1627500 -%global llvm_targets X86;AMDGPU;NVPTX;BPF;ARM;AArch64 -%endif -%ifarch aarch64 -%global llvm_targets AArch64;AMDGPU;BPF -%endif -%ifarch %{arm} -%global llvm_targets ARM;AMDGPU;BPF -%endif - -%if 0%{?compat_build} -%global pkg_name llvm%{maj_ver}.%{min_ver} -%global exec_suffix -%{maj_ver}.%{min_ver} -%global short_exec_suffix -%{maj_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} -%global build_pkgdocdir %{buildroot}%{_pkgdocdir} - -Name: %{pkg_name} -Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: 5%{?rc_ver:.rc%{rc_ver}}%{?dist} -Summary: The Low Level Virtual Machine - -License: NCSA -URL: http://llvm.org -Source0: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz -Source1: run-lit-tests - -Patch3: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch -Patch7: 0001-Filter-out-cxxflags-not-supported-by-clang.patch - -Patch12: 0001-unittests-Don-t-install-TestPlugin.so.patch -# If python2 is available on the system, llvm will try to use it. This patch -# removes the preferences for python2, so we can make sure we always use -# python3. -Patch14: 0001-CMake-Don-t-prefer-python2.7.patch -Patch15: 0001-Don-t-set-rpath-when-installing.patch - -Patch16: 0001-Ensure-that-variant-part-discriminator-is-read-by-Me.patch -Patch17: 0002-test-Fix-Assembler-debug-info.ll.patch - -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: cmake -BuildRequires: ninja-build -BuildRequires: zlib-devel -BuildRequires: libffi-devel -BuildRequires: ncurses-devel -BuildRequires: python3-sphinx -BuildRequires: multilib-rpm-config -BuildRequires: chrpath -%if %{with gold} -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} - -%description -LLVM is a compiler infrastructure designed for compile-time, link-time, -runtime, and idle-time optimization of programs from arbitrary programming -languages. The compiler infrastructure includes mirror sets of programming -tools as well as libraries with equivalent functionality. - -%package devel -Summary: Libraries and header files for LLVM -Requires: %{name}%{?_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 - -%description devel -This package contains library and header files needed to develop new native -programs that use the LLVM infrastructure. - -%package doc -Summary: Documentation for LLVM -BuildArch: noarch -Requires: %{name} = %{version}-%{release} - -%description doc -Documentation for the LLVM compiler infrastructure. - -%package libs -Summary: LLVM shared libraries - -%description libs -Shared libraries for the LLVM compiler infrastructure. - -%package static -Summary: LLVM static libraries - -%description static -Static libraries for the LLVM compiler infrastructure. - -%if !0%{?compat_build} - -%package test -Summary: LLVM regression tests -Requires: %{name}%{?_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 - -%description test -LLVM regression tests. - -%package googletest -Summary: LLVM's modified googletest sources - -%description googletest -LLVM's modified googletest sources. - -%endif - -%prep -%autosetup -n llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src -p1 - -pathfix.py -i %{__python3} -pn \ - test/BugPoint/compile-custom.ll.py \ - tools/opt-viewer/*.py - -sed -i 's~@TOOLS_DIR@~%{llvm_bindir}~' %{SOURCE1} - -%build -mkdir -p _build -cd _build - -%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 .. -G Ninja \ - -DBUILD_SHARED_LIBS:BOOL=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -%ifarch s390 %{arm} %ix86 - -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ -%endif -%if !0%{?compat_build} -%if 0%{?__isa_bits} == 64 - -DLLVM_LIBDIR_SUFFIX=64 \ -%else - -DLLVM_LIBDIR_SUFFIX= \ -%endif -%endif - \ - -DLLVM_TARGETS_TO_BUILD="%{llvm_targets}" \ - -DLLVM_ENABLE_LIBCXX:BOOL=OFF \ - -DLLVM_ENABLE_ZLIB:BOOL=ON \ - -DLLVM_ENABLE_FFI:BOOL=ON \ - -DLLVM_ENABLE_RTTI:BOOL=ON \ -%if %{with gold} - -DLLVM_BINUTILS_INCDIR=%{_includedir} \ -%endif - \ - -DLLVM_BUILD_RUNTIME:BOOL=ON \ - \ - -DLLVM_INCLUDE_TOOLS:BOOL=ON \ - -DLLVM_BUILD_TOOLS:BOOL=ON \ - \ - -DLLVM_INCLUDE_TESTS:BOOL=ON \ - -DLLVM_BUILD_TESTS:BOOL=ON \ - \ - -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ - -DLLVM_BUILD_EXAMPLES:BOOL=OFF \ - \ - -DLLVM_INCLUDE_UTILS:BOOL=ON \ -%if 0%{?compat_build} - -DLLVM_INSTALL_UTILS:BOOL=OFF \ -%else - -DLLVM_INSTALL_UTILS:BOOL=ON \ - -DLLVM_UTILS_INSTALL_DIR:PATH=%{build_llvm_bindir} \ -%endif - \ - -DLLVM_INCLUDE_DOCS:BOOL=ON \ - -DLLVM_BUILD_DOCS:BOOL=ON \ - -DLLVM_ENABLE_SPHINX:BOOL=ON \ - -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \ - \ - -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 \ - -DCMAKE_INSTALL_PREFIX=%{build_install_prefix} \ - -DLLVM_INSTALL_SPHINX_HTML_DIR=%{build_pkgdocdir}/html \ - -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 - -ninja -v - -%install -cd _build -ninja -v install - -%if !0%{?compat_build} -# fix multi-lib -mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}} - -%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h - -# Install binaries needed for lit tests -%global test_binaries lli-child-target llvm-isel-fuzzer llvm-opt-fuzzer yaml-bench -for f in %{test_binaries}; do -install -m 0755 ./bin/$f %{build_llvm_bindir} -done - -# Install libraries needed for unittests -%if 0%{?__isa_bits} == 64 -%global build_libdir lib64 -%else -%global build_libdir lib -%endif - -install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir} - -%global install_srcdir %{buildroot}%{_datadir}/llvm/src -%global lit_cfg test/lit.site.cfg.py -%global lit_unit_cfg test/Unit/lit.site.cfg.py - -cd .. - -# 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. -cat _build/test/lit.site.cfg.py >> %{lit_cfg} - -# Unit tests write output to this directory, so it can't be in /usr. -sed -i 's~\(config.llvm_obj_root = \)"[^"]\+"~\1"."~' %{lit_cfg} - -cat _build/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg} -sed -i -e s~`pwd`/_build~%{_prefix}~g -e s~`pwd`~.~g %{lit_cfg} %{lit_cfg} %{lit_unit_cfg} - -# obj_root needs to be set to the directory containing the unit test binaries. -sed -i 's~\(config.llvm_obj_root = \)"[^"]\+"~\1"%{llvm_bindir}"~' %{lit_unit_cfg} - -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 -cp -R _build/unittests %{build_llvm_bindir}/ -# FIXME: Can't figure out how to make the find command succeed. -find %{build_llvm_bindir} -ignore_readdir_race -iname 'cmake*' -exec rm -Rf '{}' ';' || true - -%else - -# Add version suffix to binaries -mkdir -p %{buildroot}/%{_bindir} -for f in `ls %{buildroot}/%{install_bindir}/*`; do - filename=`basename $f` - ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix} - ln -s $filename%{exec_suffix} %{buildroot}/%{_bindir}/$filename%{short_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}} -ln -s llvm-config%{exec_suffix}-%{__isa_bits} %{buildroot}%{_bindir}/llvm-config%{short_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 - ln -s $filename%{exec_suffix}.1 %{buildroot}%{_mandir}/man1/$filename%{short_exec_suffix}.1 -done - -# Remove opt-viewer, since this is just a compatibility package. -rm -Rf %{build_install_prefix}/share/opt-viewer - -%endif - -%check -cd _build -ninja check-all || : - -%ldconfig_scriptlets libs - -%if !0%{?compat_build} - -%post devel -%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits} - -%postun devel -if [ $1 -eq 0 ]; then - %{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config-%{__isa_bits} -fi - -%endif - -%files -%{_bindir}/* -%{_mandir}/man1/*.1.* -%if !0%{?compat_build} -%{llvm_bindir} -%exclude %{_bindir}/llvm-config-%{__isa_bits} -%exclude %{_mandir}/man1/llvm-config.1.* -%{_datadir}/opt-viewer -%exclude %{llvm_bindir}/unittests -%else -%exclude %{pkg_bindir}/llvm-config -%{pkg_bindir} -%endif - -%files libs -%{pkg_libdir}/libLLVM-%{maj_ver}.so -%if !0%{?compat_build} -%{_libdir}/BugpointPasses.so -%{_libdir}/LLVMHello.so -%if %{with gold} -%{_libdir}/LLVMgold.so -%endif -%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so -%{_libdir}/libLTO.so* -%else -%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf -%{pkg_libdir}/BugpointPasses.so -%{pkg_libdir}/LLVMHello.so -%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 - -%files devel -%if !0%{?compat_build} -%{_bindir}/llvm-config-%{__isa_bits} -%{_mandir}/man1/llvm-config.1.* -%{_includedir}/llvm -%{_includedir}/llvm-c -%{_libdir}/libLLVM.so -%{_libdir}/cmake/llvm -%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake -%else -%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} -%{_bindir}/llvm-config%{short_exec_suffix}-%{__isa_bits} -%{pkg_bindir}/llvm-config -%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz -%{_mandir}/man1/llvm-config%{short_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 !0%{?compat_build} -%{_libdir}/*.a -%exclude %{_libdir}/libLLVMTestingSupport.a -%{_libdir}/cmake/llvm/LLVMStaticExports.cmake -%else -%{_libdir}/%{name}/lib/*.a -%endif - -%if !0%{?compat_build} - -%files test -%{_libexecdir}/tests/llvm/ -%{llvm_bindir}/unittests/ -%{_datadir}/llvm/src/test.tar.gz -%{llvm_bindir}/yaml-bench -%{llvm_bindir}/lli-child-target -%{llvm_bindir}/llvm-isel-fuzzer -%{llvm_bindir}/llvm-opt-fuzzer - -%files googletest -%{_datadir}/llvm/src/utils -%{_libdir}/libLLVMTestingSupport.a - -%endif - -%changelog -* Sat Feb 15 2020 Elliott Sales de Andrade - 7.0.1-5 -- Install *-7 symlink to *-7.0 binaries, rhbz#1733421 - -* Wed Jan 29 2020 Fedora Release Engineering - 7.0.1-4.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 7.0.1-4.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Feb 26 2019 sguelton@redhat.com - 7.0.1-4 -- Install ld.so.config file with -lib package - -* Mon Feb 18 2019 sguelton@redhat.com - 7.0.1-3 -- Sync specfile with llvm7.0 package - -* Fri Feb 01 2019 Fedora Release Engineering - 7.0.1-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 21 2019 Josh Stone - 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 - 7.0.0-4 -- Install testing libraries for unittests - -* Sat Oct 27 2018 Tom Stellard - 7.0.0-3 -- Fix running unittests as not-root user - -* Thu Sep 27 2018 Tom Stellard - 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 - 7.0.0-1 -- 7.0.0 Release - -* Thu Sep 13 2018 Tom Stellard - 7.0.0-0.15.rc3 -- Disable rpath on install LLVM and related sub-projects - -* Wed Sep 12 2018 Tom Stellard - 7.0.0-0.14.rc3 -- Remove rpath from executables and libraries - -* Tue Sep 11 2018 Tom Stellard - 7.0.0-0.13.rc3 -- Re-enable arm and aarch64 targets on x86_64 - -* Mon Sep 10 2018 Tom Stellard - 7.0.0-0.12.rc3 -- 7.0.0-rc3 Release - -* Fri Sep 07 2018 Tom Stellard - 7.0.0-0.11.rc2 -- Use python3 shebang for opt-viewewr scripts - -* Thu Aug 30 2018 Tom Stellard - 7.0.0-0.10.rc2 -- Drop all uses of python2 from lit tests - -* Thu Aug 30 2018 Tom Stellard - 7.0.0-0.9.rc2 -- Build the gold plugin on all supported architectures - -* Wed Aug 29 2018 Kevin Fenzi - 7.0.0-0.8.rc2 -- Re-enable debuginfo to avoid 25x size increase. - -* Tue Aug 28 2018 Tom Stellard - 7.0.0-0.7.rc2 -- 7.0.0-rc2 Release - -* Tue Aug 28 2018 Tom Stellard - 7.0.0-0.6.rc1 -- Guard valgrind usage with valgrind_arches macro - -* Thu Aug 23 2018 Tom Stellard - 7.0.0-0.5.rc1 -- Package lit tests and googletest sources. - -* Mon Aug 20 2018 Tom Stellard - 7.0.0-0.4.rc1 -- Re-enable AMDGPU target on ARM rhbz#1618922 - -* Mon Aug 13 2018 Tom Stellard - 7.0.0-0.3.rc1 -- Drop references to TestPlugin.so from cmake files - -* Fri Aug 10 2018 Tom Stellard - 7.0.0-0.2.rc1 -- Fixes for lit tests - -* Fri Aug 10 2018 Tom Stellard - 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 - 6.0.1-6 -- Backport some fixes needed by mesa and rust - -* Thu Jul 26 2018 Tom Stellard - 6.0.1-5 -- Move libLLVM-6.0.so to llvm6.0-libs. - -* Mon Jul 23 2018 Tom Stellard - 6.0.1-4 -- Rebuild because debuginfo stripping failed with the previous build - -* Fri Jul 13 2018 Tom Stellard - 6.0.1-3 -- Sync specfile with llvm6.0 package - -* Fri Jul 13 2018 Fedora Release Engineering - 6.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jun 25 2018 Tom Stellard - 6.0.1-1 -- 6.0.1 Release - -* Thu Jun 07 2018 Tom Stellard - 6.0.1-0.4.rc2 -- 6.0.1-rc2 - -* Wed Jun 06 2018 Tom Stellard - 6.0.1-0.3.rc1 -- Re-enable all targets to avoid breaking the ABI. - -* Mon Jun 04 2018 Tom Stellard - 6.0.1-0.2.rc1 -- Reduce the number of enabled targets based on the architecture - -* Thu May 10 2018 Tom Stellard - 6.0.1-0.1.rc1 -- 6.0.1 rc1 - -* Tue Mar 27 2018 Tom Stellard - 6.0.0-11 -- Re-enable arm tests that used to hang - -* Thu Mar 22 2018 Tom Stellard - 6.0.0-10 -- Fix testcase in backported patch - -* Tue Mar 20 2018 Tom Stellard - 6.0.0-9 -- Prevent external projects from linking against both static and shared - libraries. rhbz#1558657 - -* Mon Mar 19 2018 Tom Stellard - 6.0.0-8 -- Backport r327651 from trunk rhbz#1554349 - -* Fri Mar 16 2018 Tom Stellard - 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 - 6.0.0-6 -- Enable symbol versioning in libLLVM.so - -* Wed Mar 14 2018 Tom Stellard - 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 - 6.0.0-4 -- s/make check/ninja check/ - -* Fri Mar 09 2018 Tom Stellard - 6.0.0-3 -- Backport fix for compile time regression on rust rhbz#1552915 - -* Thu Mar 08 2018 Tom Stellard - 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 - 6.0.0-1 -- 6.0.0 Release - -* Thu Mar 08 2018 Tom Stellard - 6.0.0-0.5.rc2 -- Reduce debuginfo size on i686 to avoid OOM errors during linking - -* Fri Feb 09 2018 Tom Stellard - 6.0.0-0.4.rc2 -- 6.0.1 rc2 - -* Fri Feb 09 2018 Igor Gnatenko - 6.0.0-0.3.rc1 -- Escape macros in %%changelog - -* Thu Feb 08 2018 Fedora Release Engineering - 6.0.0-0.2.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Fri Jan 19 2018 Tom Stellard - 6.0.0-0.1.rc1 -- 6.0.1 rc1 - -* Tue Dec 19 2017 Tom Stellard - 5.0.1-1 -- 5.0.1 Release - -* Mon Nov 20 2017 Tom Stellard - 5.0.0-5 -- Backport debuginfo fix for rust - -* Fri Nov 03 2017 Tom Stellard - 5.0.0-4 -- Reduce debuginfo size for ARM - -* Tue Oct 10 2017 Tom Stellard - 5.0.0-2 -- Reduce memory usage on ARM by disabling debuginfo and some non-ARM targets. - -* Mon Sep 25 2017 Tom Stellard - 5.0.0-1 -- 5.0.0 Release - -* Mon Sep 18 2017 Tom Stellard - 4.0.1-6 -- Add Requires: libedit-devel for llvm-devel - -* Fri Sep 08 2017 Tom Stellard - 4.0.1-5 -- Enable libedit backend for LineEditor API - -* Fri Aug 25 2017 Tom Stellard - 4.0.1-4 -- Enable extra functionality when run the LLVM JIT under valgrind. - -* Thu Aug 03 2017 Fedora Release Engineering - 4.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 4.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Jun 21 2017 Tom Stellard - 4.0.1-1 -- 4.0.1 Release - -* Thu Jun 15 2017 Tom Stellard - 4.0.0-6 -- Install llvm utils - -* Thu Jun 08 2017 Tom Stellard - 4.0.0-5 -- Fix docs-llvm-man target - -* Mon May 01 2017 Tom Stellard - 4.0.0-4 -- Make cmake files no longer depend on static libs (rhbz 1388200) - -* Tue Apr 18 2017 Josh Stone - 4.0.0-3 -- Fix computeKnownBits for ARMISD::CMOV (rust-lang/llvm#67) - -* Mon Apr 03 2017 Tom Stellard - 4.0.0-2 -- Simplify spec with rpm macros. - -* Thu Mar 23 2017 Tom Stellard - 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 - 3.9.1-5 -- Disable failing tests on ARM. - -* Sun Mar 12 2017 Peter Robinson 3.9.1-4 -- Fix missing mask on relocation for aarch64 (rhbz 1429050) - -* Wed Mar 01 2017 Dave Airlie - 3.9.1-3 -- revert upstream radeonsi breaking change. - -* Thu Feb 23 2017 Josh Stone - 3.9.1-2 -- disable sphinx warnings-as-errors - -* Fri Feb 10 2017 Orion Poplawski - 3.9.1-1 -- llvm 3.9.1 - -* Fri Feb 10 2017 Fedora Release Engineering - 3.9.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Nov 29 2016 Josh Stone - 3.9.0-7 -- Apply backports from rust-lang/llvm#55, #57 - -* Tue Nov 01 2016 Dave Airlie - 3.9.0-5 -- apply the patch from -4 - -* Wed Oct 26 2016 Dave Airlie - 3.9.0-4 -- add fix for lldb out-of-tree build - -* Mon Oct 17 2016 Josh Stone - 3.9.0-3 -- Apply backports from rust-lang/llvm#47, #48, #53, #54 - -* Sat Oct 15 2016 Josh Stone - 3.9.0-2 -- Apply an InstCombine backport via rust-lang/llvm#51 - -* Wed Sep 07 2016 Dave Airlie - 3.9.0-1 -- llvm 3.9.0 -- upstream moved where cmake files are packaged. -- upstream dropped CppBackend - -* Wed Jul 13 2016 Adam Jackson - 3.8.1-1 -- llvm 3.8.1 -- Add mips target -- Fix some shared library mispackaging - -* Tue Jun 07 2016 Jan Vcelak - 3.8.0-2 -- fix color support detection on terminal - -* Thu Mar 10 2016 Dave Airlie 3.8.0-1 -- llvm 3.8.0 release - -* Wed Mar 09 2016 Dan Horák 3.8.0-0.3 -- install back memory consumption workaround for s390 - -* Thu Mar 03 2016 Dave Airlie 3.8.0-0.2 -- llvm 3.8.0 rc3 release - -* Fri Feb 19 2016 Dave Airlie 3.8.0-0.1 -- llvm 3.8.0 rc2 release - -* Tue Feb 16 2016 Dan Horák 3.7.1-7 -- recognize s390 as SystemZ when configuring build - -* Sat Feb 13 2016 Dave Airlie 3.7.1-6 -- export C++ API for mesa. - -* Sat Feb 13 2016 Dave Airlie 3.7.1-5 -- reintroduce llvm-static, clang needs it currently. - -* Fri Feb 12 2016 Dave Airlie 3.7.1-4 -- jump back to single llvm library, the split libs aren't working very well. - -* Fri Feb 05 2016 Dave Airlie 3.7.1-3 -- add missing obsoletes (#1303497) - -* Thu Feb 04 2016 Fedora Release Engineering - 3.7.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 07 2016 Jan Vcelak 3.7.1-1 -- new upstream release -- enable gold linker - -* Wed Nov 04 2015 Jan Vcelak 3.7.0-100 -- fix Requires for subpackages on the main package - -* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 -- initial version using cmake build system diff --git a/run-lit-tests b/run-lit-tests deleted file mode 100755 index a0a5d5b..0000000 --- a/run-lit-tests +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -usage() { - echo "usage: `basename $0` [OPTIONS]" - echo " --threads NUM The number of threads to use for running tests." -} - -threads_arg='' - -while [ $# -gt 0 ]; do - case $1 in - --threads) - shift - threads_arg="--threads $1" - ;; - * ) - echo "unknown option: $1" - echo "" - usage - exit 1 - ;; - esac - shift -done - -set -xe - -TOOLS_DIR=@TOOLS_DIR@ -cd $(mktemp -d) -ln -s /usr/include include -tar -xzf /usr/share/llvm/src/test.tar.gz -PATH=$PATH:$TOOLS_DIR lit -v -s $threads_arg test \ - -DFileCheck=$TOOLS_DIR/FileCheck \ - -Dcount=$TOOLS_DIR/count \ - -Dnot=$TOOLS_DIR/not \ - -Dlli-child-target=$TOOLS_DIR/lli-child-target \ - -Dllvm-isel-fuzzer=$TOOLS_DIR/llvm-isel-fuzzer \ - -Dllvm-opt-fuzzer=$TOOLS_DIR/llvm-opt-fuzzer \ - -Dyaml-bench=$TOOLS_DIR/yaml-bench diff --git a/rust-lang-llvm-pr67.patch b/rust-lang-llvm-pr67.patch deleted file mode 100644 index 3edbde9..0000000 --- a/rust-lang-llvm-pr67.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a6fa10c14649c18d299cddf3e823b032460cb6f5 Mon Sep 17 00:00:00 2001 -From: Pirama Arumuga Nainar -Date: Thu, 23 Mar 2017 16:47:47 +0000 -Subject: [PATCH] Fix computeKnownBits for ARMISD::CMOV - -Summary: -The true and false operands for the CMOV are operands 0 and 1. -ARMISelLowering.cpp::computeKnownBits was looking at operands 1 and 2 -instead. This can cause CMOV instructions to be incorrectly folded into -BFI if value set by the CMOV is another CMOV, whose known bits are -computed incorrectly. - -This patch fixes the issue and adds a test case. - -Reviewers: kristof.beyls, jmolloy - -Subscribers: llvm-commits, aemerson, srhines, rengolin - -Differential Revision: https://reviews.llvm.org/D31265 - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298624 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Target/ARM/ARMISelLowering.cpp | 4 ++-- - test/CodeGen/ARM/no-cmov2bfi.ll | 19 +++++++++++++++++++ - 2 files changed, 21 insertions(+), 2 deletions(-) - create mode 100644 test/CodeGen/ARM/no-cmov2bfi.ll - -diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp -index 4a227a3cd7b1..cf98e60c0657 100644 ---- a/lib/Target/ARM/ARMISelLowering.cpp -+++ b/lib/Target/ARM/ARMISelLowering.cpp -@@ -10806,8 +10806,8 @@ static void computeKnownBits(SelectionDAG &DAG, SDValue Op, APInt &KnownZero, - if (Op.getOpcode() == ARMISD::CMOV) { - APInt KZ2(KnownZero.getBitWidth(), 0); - APInt KO2(KnownOne.getBitWidth(), 0); -- computeKnownBits(DAG, Op.getOperand(1), KnownZero, KnownOne); -- computeKnownBits(DAG, Op.getOperand(2), KZ2, KO2); -+ computeKnownBits(DAG, Op.getOperand(0), KnownZero, KnownOne); -+ computeKnownBits(DAG, Op.getOperand(1), KZ2, KO2); - - KnownZero &= KZ2; - KnownOne &= KO2; -diff --git a/test/CodeGen/ARM/no-cmov2bfi.ll b/test/CodeGen/ARM/no-cmov2bfi.ll -new file mode 100644 -index 000000000000..c8b512048905 ---- /dev/null -+++ b/test/CodeGen/ARM/no-cmov2bfi.ll -@@ -0,0 +1,19 @@ -+; RUN: llc < %s -mtriple=thumbv7 | FileCheck --check-prefix=CHECK-NOBFI %s -+ -+declare zeroext i1 @dummy() -+ -+define i8 @test(i8 %a1, i1 %c) { -+; CHECK-NOBFI-NOT: bfi -+; CHECK-NOBFI: bl dummy -+; CHECK-NOBFI: cmp r0, #0 -+; CHECK-NOBFI: it ne -+; CHECK-NOBFI: orrne [[REG:r[0-9]+]], [[REG]], #8 -+; CHECK-NOBFI: mov r0, [[REG]] -+ -+ %1 = and i8 %a1, -9 -+ %2 = select i1 %c, i8 %1, i8 %a1 -+ %3 = tail call zeroext i1 @dummy() -+ %4 = or i8 %2, 8 -+ %ret = select i1 %3, i8 %4, i8 %2 -+ ret i8 %ret -+} --- -2.9.3 - diff --git a/sources b/sources deleted file mode 100644 index a227558..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (llvm-7.0.1.src.tar.xz) = ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df