llvm 8.0.0rc1
This commit is contained in:
parent
aea8243575
commit
4ca785f8a6
1
.gitignore
vendored
1
.gitignore
vendored
@ -45,3 +45,4 @@
|
|||||||
/llvm-7.0.0rc3.src.tar.xz
|
/llvm-7.0.0rc3.src.tar.xz
|
||||||
/llvm-7.0.0.src.tar.xz
|
/llvm-7.0.0.src.tar.xz
|
||||||
/llvm-7.0.1.src.tar.xz
|
/llvm-7.0.1.src.tar.xz
|
||||||
|
/llvm-8.0.0rc1.src.tar.xz
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
From 974c288631ef8d05bf3a3f91b32bf38eae16e5c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
From 1e0f1c5481a96d760f7840d4dde103353a0131f8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From af79e4116c4476153869e1fd4aa30c87d4c7c21e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
|||||||
From 2ad5ac11b17dac347d29191872b2b3d601bbcd1f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Devlieghere <jonas@devlieghere.com>
|
|
||||||
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<DICompositeType>(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
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From 5f7fd92155db77c7608e3a07e5dcfad1ec7bd4e4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,40 +1,20 @@
|
|||||||
From f9e66a883e1fb748e6ac826fde188efaae249361 Mon Sep 17 00:00:00 2001
|
From 59c38a2216f4467b53970bb6b010bc4fe0b8d1d3 Mon Sep 17 00:00:00 2001
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
From: serge-sans-paille <sguelton@redhat.com>
|
||||||
Date: Sat, 29 Apr 2017 02:03:23 +0000
|
Date: Fri, 25 Jan 2019 17:32:54 +0000
|
||||||
Subject: [PATCH] CMake: Split static library exports into their own export
|
Subject: [PATCH 1/2] [PATCH] Filter out cxxflags not supported by clang
|
||||||
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/AddLLVM.cmake | 6 +++++-
|
||||||
cmake/modules/CMakeLists.txt | 3 +++
|
cmake/modules/CMakeLists.txt | 3 +++
|
||||||
cmake/modules/LLVMConfig.cmake.in | 2 ++
|
cmake/modules/LLVMConfig.cmake.in | 2 ++
|
||||||
3 files changed, 10 insertions(+), 1 deletion(-)
|
tools/llvm-config/CMakeLists.txt | 4 ++++
|
||||||
|
4 files changed, 14 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
||||||
index fd5627e..78f106f 100644
|
index 4dbc0ddaf4f..c408377cd2e 100644
|
||||||
--- a/cmake/modules/AddLLVM.cmake
|
--- a/cmake/modules/AddLLVM.cmake
|
||||||
+++ b/cmake/modules/AddLLVM.cmake
|
+++ b/cmake/modules/AddLLVM.cmake
|
||||||
@@ -635,7 +635,11 @@ macro(add_llvm_library name)
|
@@ -664,7 +664,11 @@ macro(add_llvm_library name)
|
||||||
|
|
||||||
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||||
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
NOT LLVM_DISTRIBUTION_COMPONENTS)
|
||||||
@ -48,18 +28,18 @@ index fd5627e..78f106f 100644
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
|
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
|
||||||
index 6074e83..e9fcb11 100644
|
index f5cc0006fa0..6605dc729c2 100644
|
||||||
--- a/cmake/modules/CMakeLists.txt
|
--- a/cmake/modules/CMakeLists.txt
|
||||||
+++ b/cmake/modules/CMakeLists.txt
|
+++ b/cmake/modules/CMakeLists.txt
|
||||||
@@ -91,6 +91,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
|
@@ -97,6 +97,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
|
||||||
set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
|
set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_TOOLS_INSTALL_DIR}")
|
||||||
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
||||||
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
||||||
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
|
||||||
configure_file(
|
configure_file(
|
||||||
LLVMConfig.cmake.in
|
LLVMConfig.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
|
||||||
@@ -107,6 +108,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
@@ -113,6 +114,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
if(llvm_has_exports)
|
if(llvm_has_exports)
|
||||||
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
|
||||||
COMPONENT cmake-exports)
|
COMPONENT cmake-exports)
|
||||||
@ -69,10 +49,10 @@ index 6074e83..e9fcb11 100644
|
|||||||
|
|
||||||
install(FILES
|
install(FILES
|
||||||
diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
|
diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in
|
||||||
index 0772016..f471625 100644
|
index 7ca06381d90..44d042c9b11 100644
|
||||||
--- a/cmake/modules/LLVMConfig.cmake.in
|
--- a/cmake/modules/LLVMConfig.cmake.in
|
||||||
+++ b/cmake/modules/LLVMConfig.cmake.in
|
+++ b/cmake/modules/LLVMConfig.cmake.in
|
||||||
@@ -78,6 +78,8 @@ if(NOT TARGET LLVMSupport)
|
@@ -84,6 +84,8 @@ if(NOT TARGET LLVMSupport)
|
||||||
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
|
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
|
||||||
include("@LLVM_CONFIG_EXPORTS_FILE@")
|
include("@LLVM_CONFIG_EXPORTS_FILE@")
|
||||||
@llvm_config_include_buildtree_only_exports@
|
@llvm_config_include_buildtree_only_exports@
|
||||||
@ -81,6 +61,22 @@ index 0772016..f471625 100644
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# By creating intrinsics_gen here, subprojects that depend on LLVM's
|
# By creating intrinsics_gen here, subprojects that depend on LLVM's
|
||||||
|
diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt
|
||||||
|
index a7db17386fb..8a796d03b5a 100644
|
||||||
|
--- a/tools/llvm-config/CMakeLists.txt
|
||||||
|
+++ b/tools/llvm-config/CMakeLists.txt
|
||||||
|
@@ -42,7 +42,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR})
|
||||||
|
set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR})
|
||||||
|
set(LLVM_CPPFLAGS "${LLVM_DEFINITIONS}")
|
||||||
|
set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LLVM_DEFINITIONS}")
|
||||||
|
+STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS})
|
||||||
|
+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS})
|
||||||
|
set(LLVM_CXXFLAGS "${LLVM_CXX_STD_FLAG} ${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
|
2.19.2
|
||||||
|
|
44
0001-PATCH-llvm-config.patch
Normal file
44
0001-PATCH-llvm-config.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
diff -ru llvm-8.0.0rc1.src.orig/cmake/modules/CMakeLists.txt llvm-8.0.0rc1.src/cmake/modules/CMakeLists.txt
|
||||||
|
--- llvm-8.0.0rc1.src.orig/cmake/modules/CMakeLists.txt 2019-02-12 11:32:02.370238762 +0000
|
||||||
|
+++ llvm-8.0.0rc1.src/cmake/modules/CMakeLists.txt 2019-02-13 08:40:39.263265812 +0000
|
||||||
|
@@ -94,7 +94,7 @@
|
||||||
|
set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
|
||||||
|
set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
|
||||||
|
set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
|
||||||
|
-set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
|
||||||
|
+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_TOOLS_INSTALL_DIR}")
|
||||||
|
set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
|
||||||
|
set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
|
||||||
|
configure_file(
|
||||||
|
diff -ru llvm-8.0.0rc1.src.orig/tools/llvm-config/llvm-config.cpp llvm-8.0.0rc1.src/tools/llvm-config/llvm-config.cpp
|
||||||
|
--- llvm-8.0.0rc1.src.orig/tools/llvm-config/llvm-config.cpp 2019-02-12 11:32:00.617221180 +0000
|
||||||
|
+++ llvm-8.0.0rc1.src/tools/llvm-config/llvm-config.cpp 2019-02-12 11:34:27.817599362 +0000
|
||||||
|
@@ -269,7 +269,6 @@
|
||||||
|
// tree.
|
||||||
|
bool IsInDevelopmentTree;
|
||||||
|
enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout;
|
||||||
|
- llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));
|
||||||
|
std::string CurrentExecPrefix;
|
||||||
|
std::string ActiveObjRoot;
|
||||||
|
|
||||||
|
@@ -280,11 +279,15 @@
|
||||||
|
build_mode = CMAKE_CFG_INTDIR;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- // Create an absolute path, and pop up one directory (we expect to be inside a
|
||||||
|
- // bin dir).
|
||||||
|
- sys::fs::make_absolute(CurrentPath);
|
||||||
|
- CurrentExecPrefix =
|
||||||
|
- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
|
||||||
|
+ // Create an absolute path, and pop up as much directory as in LLVM_TOOLS_INSTALL_DIR
|
||||||
|
+ {
|
||||||
|
+ llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));
|
||||||
|
+ sys::fs::make_absolute(CurrentPath);
|
||||||
|
+ for (auto iter = sys::path::begin(LLVM_TOOLS_INSTALL_DIR), end = sys::path::end(LLVM_TOOLS_INSTALL_DIR); iter != end; ++iter) {
|
||||||
|
+ CurrentPath = sys::path::parent_path(CurrentPath).str();
|
||||||
|
+ }
|
||||||
|
+ CurrentExecPrefix = sys::path::parent_path(CurrentPath).str();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// Check to see if we are inside a development tree by comparing to possible
|
||||||
|
// locations (prefix style or CMake style).
|
@ -1,79 +0,0 @@
|
|||||||
From a481ab548d038c1dfd52ee211b997e2dd33ff5ae Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hal Finkel <hfinkel@anl.gov>
|
|
||||||
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
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
|||||||
From 9c50cf0c6d8f0b11cd76a28cc4ef9bca6ef732e0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
From cf1fb43186fd4d97ee2de0b222d44ecc500f82c7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
|||||||
From e67ace2ecb42c24e124f1738dc67b22055a22500 Mon Sep 17 00:00:00 2001
|
From 05e48edb91ddcf0d85ba2de2672b252e3ec3cbc3 Mon Sep 17 00:00:00 2001
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
From: serge-sans-paille <sguelton@redhat.com>
|
||||||
Date: Thu, 13 Sep 2018 10:10:08 -0700
|
Date: Fri, 25 Jan 2019 17:39:04 +0000
|
||||||
Subject: [PATCH] Don't set rpath when installing
|
Subject: [PATCH 2/2] [PATCH] Don't set rpath when installing
|
||||||
|
|
||||||
---
|
---
|
||||||
cmake/modules/AddLLVM.cmake | 1 +
|
cmake/modules/AddLLVM.cmake | 1 +
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
||||||
index ce2057f..de309b5 100644
|
index c408377cd2e..56ab12c2365 100644
|
||||||
--- a/cmake/modules/AddLLVM.cmake
|
--- a/cmake/modules/AddLLVM.cmake
|
||||||
+++ b/cmake/modules/AddLLVM.cmake
|
+++ b/cmake/modules/AddLLVM.cmake
|
||||||
@@ -1621,6 +1621,7 @@ function(llvm_codesign name)
|
@@ -1662,6 +1662,7 @@ function(llvm_codesign name)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(llvm_setup_rpath name)
|
function(llvm_setup_rpath name)
|
||||||
@ -20,5 +20,5 @@ index ce2057f..de309b5 100644
|
|||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.19.2
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From 9bfebd6e47cb8513dcd7f7203f29489bdec7bfe4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Devlieghere <jonas@devlieghere.com>
|
|
||||||
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
|
|
||||||
|
|
75
llvm.spec
75
llvm.spec
@ -9,11 +9,12 @@
|
|||||||
%global compat_build 0
|
%global compat_build 0
|
||||||
|
|
||||||
%global llvm_bindir %{_libdir}/%{name}
|
%global llvm_bindir %{_libdir}/%{name}
|
||||||
|
%global llvm_bin %{_lib}/%{name}
|
||||||
%global build_llvm_bindir %{buildroot}%{llvm_bindir}
|
%global build_llvm_bindir %{buildroot}%{llvm_bindir}
|
||||||
%global maj_ver 7
|
%global maj_ver 8
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 1
|
%global patch_ver 0
|
||||||
#%%global rc_ver 3
|
%global rc_ver 1
|
||||||
|
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
%global llvm_targets SystemZ;BPF
|
%global llvm_targets SystemZ;BPF
|
||||||
@ -55,7 +56,7 @@
|
|||||||
|
|
||||||
Name: %{pkg_name}
|
Name: %{pkg_name}
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
Release: 2%{?rc_ver:.rc%{rc_ver}}%{?dist}.1
|
Release: 1%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
||||||
Summary: The Low Level Virtual Machine
|
Summary: The Low Level Virtual Machine
|
||||||
|
|
||||||
License: NCSA
|
License: NCSA
|
||||||
@ -63,18 +64,9 @@ 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
|
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
|
Source1: run-lit-tests
|
||||||
|
|
||||||
Patch3: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
|
Patch5: 0001-PATCH-llvm-config.patch
|
||||||
Patch7: 0001-Filter-out-cxxflags-not-supported-by-clang.patch
|
Patch7: 0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch
|
||||||
|
Patch15: 0002-PATCH-Don-t-set-rpath-when-installing.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
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -84,6 +76,7 @@ BuildRequires: zlib-devel
|
|||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: python3-sphinx
|
BuildRequires: python3-sphinx
|
||||||
|
BuildRequires: python3-recommonmark
|
||||||
BuildRequires: multilib-rpm-config
|
BuildRequires: multilib-rpm-config
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
@ -226,6 +219,7 @@ cd _build
|
|||||||
%else
|
%else
|
||||||
-DLLVM_INSTALL_UTILS:BOOL=ON \
|
-DLLVM_INSTALL_UTILS:BOOL=ON \
|
||||||
-DLLVM_UTILS_INSTALL_DIR:PATH=%{build_llvm_bindir} \
|
-DLLVM_UTILS_INSTALL_DIR:PATH=%{build_llvm_bindir} \
|
||||||
|
-DLLVM_TOOLS_INSTALL_DIR:PATH=%{llvm_bin}\
|
||||||
%endif
|
%endif
|
||||||
\
|
\
|
||||||
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
-DLLVM_INCLUDE_DOCS:BOOL=ON \
|
||||||
@ -247,26 +241,29 @@ cd _build
|
|||||||
ninja -v
|
ninja -v
|
||||||
|
|
||||||
%install
|
%install
|
||||||
cd _build
|
ninja -C _build -v install
|
||||||
ninja -v install
|
|
||||||
|
|
||||||
%if !0%{?compat_build}
|
%if !0%{?compat_build}
|
||||||
# fix multi-lib
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
ln -s %{llvm_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
|
||||||
|
|
||||||
|
# Install binaries needed for lit tests
|
||||||
|
%global test_binaries FileCheck count lli-child-target llvm-PerfectShuffle llvm-isel-fuzzer llvm-opt-fuzzer not yaml-bench
|
||||||
|
|
||||||
|
for f in %{test_binaries}
|
||||||
|
do
|
||||||
|
install -m 0755 ./_build/bin/$f %{build_llvm_bindir}
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
|
%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
|
# Install libraries needed for unittests
|
||||||
%if 0%{?__isa_bits} == 64
|
%if 0%{?__isa_bits} == 64
|
||||||
%global build_libdir lib64
|
%global build_libdir _build/lib64
|
||||||
%else
|
%else
|
||||||
%global build_libdir lib
|
%global build_libdir _build/lib
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
||||||
@ -275,8 +272,6 @@ install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
|
|||||||
%global lit_cfg test/lit.site.cfg.py
|
%global lit_cfg test/lit.site.cfg.py
|
||||||
%global lit_unit_cfg test/Unit/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 gtest sources so clang can use them for gtest
|
||||||
install -d %{install_srcdir}
|
install -d %{install_srcdir}
|
||||||
install -d %{install_srcdir}/utils/
|
install -d %{install_srcdir}/utils/
|
||||||
@ -311,9 +306,10 @@ find %{build_llvm_bindir} -ignore_readdir_race -iname 'cmake*' -exec rm -Rf '{}'
|
|||||||
|
|
||||||
# Add version suffix to binaries
|
# Add version suffix to binaries
|
||||||
mkdir -p %{buildroot}/%{_bindir}
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
for f in `ls %{buildroot}/%{install_bindir}/*`; do
|
for f in %{build_llvm_bindir}/*
|
||||||
|
do
|
||||||
filename=`basename $f`
|
filename=`basename $f`
|
||||||
ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
|
ln -s %{_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Move header files
|
# Move header files
|
||||||
@ -322,7 +318,6 @@ ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
|
|||||||
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
|
||||||
|
|
||||||
# Fix multi-lib
|
# 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
|
%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
|
||||||
|
|
||||||
# Create ld.so.conf.d entry
|
# Create ld.so.conf.d entry
|
||||||
@ -343,6 +338,7 @@ rm -Rf %{build_install_prefix}/share/opt-viewer
|
|||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
cd _build
|
cd _build
|
||||||
ninja check-all || :
|
ninja check-all || :
|
||||||
@ -352,11 +348,11 @@ ninja check-all || :
|
|||||||
%if !0%{?compat_build}
|
%if !0%{?compat_build}
|
||||||
|
|
||||||
%post devel
|
%post devel
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
|
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{llvm_bindir}/llvm-config %{__isa_bits}
|
||||||
|
|
||||||
%postun devel
|
%postun devel
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config-%{__isa_bits}
|
%{_sbindir}/update-alternatives --remove llvm-config %{llvm_bindir}/llvm-config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -379,16 +375,12 @@ fi
|
|||||||
%files libs
|
%files libs
|
||||||
%{pkg_libdir}/libLLVM-%{maj_ver}.so
|
%{pkg_libdir}/libLLVM-%{maj_ver}.so
|
||||||
%if !0%{?compat_build}
|
%if !0%{?compat_build}
|
||||||
%{_libdir}/BugpointPasses.so
|
|
||||||
%{_libdir}/LLVMHello.so
|
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%{_libdir}/LLVMgold.so
|
%{_libdir}/LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
|
||||||
%{_libdir}/libLTO.so*
|
%{_libdir}/libLTO.so*
|
||||||
%else
|
%else
|
||||||
%{pkg_libdir}/BugpointPasses.so
|
|
||||||
%{pkg_libdir}/LLVMHello.so
|
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%{_libdir}/%{name}/lib/LLVMgold.so
|
%{_libdir}/%{name}/lib/LLVMgold.so
|
||||||
%endif
|
%endif
|
||||||
@ -396,6 +388,7 @@ fi
|
|||||||
%{pkg_libdir}/libLTO.so*
|
%{pkg_libdir}/libLTO.so*
|
||||||
%exclude %{pkg_libdir}/libLTO.so
|
%exclude %{pkg_libdir}/libLTO.so
|
||||||
%endif
|
%endif
|
||||||
|
%{pkg_libdir}/libOptRemarks.so*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%if !0%{?compat_build}
|
%if !0%{?compat_build}
|
||||||
@ -449,6 +442,10 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|
||||||
|
* Sat Feb 9 2019 sguelton@redhat.com - 8.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
|
* 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
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
From a6fa10c14649c18d299cddf3e823b032460cb6f5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Pirama Arumuga Nainar <pirama@google.com>
|
|
||||||
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
|
|
||||||
|
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (llvm-7.0.1.src.tar.xz) = ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
|
SHA512 (llvm-8.0.0rc1.src.tar.xz) = b4d0c77a58fbe3bacc4cc4bc8efcaa1b46ed04031b983f764fba716c87e1e30706fd077cb5b2899632af0493d23ee8653f2ee3c3177492974c7c2bd2039f1828
|
||||||
|
Loading…
Reference in New Issue
Block a user