First attempts for llvm 12.0.0rc1
This commit is contained in:
parent
d915c4705f
commit
a78cbf30f4
|
@ -18,3 +18,5 @@
|
||||||
/llvm-project-11.1.0rc1.src.tar.xz.sig
|
/llvm-project-11.1.0rc1.src.tar.xz.sig
|
||||||
/llvm-project-11.1.0rc2.src.tar.xz
|
/llvm-project-11.1.0rc2.src.tar.xz
|
||||||
/llvm-project-11.1.0rc2.src.tar.xz.sig
|
/llvm-project-11.1.0rc2.src.tar.xz.sig
|
||||||
|
/llvm-project-12.0.0rc1.src.tar.xz
|
||||||
|
/llvm-project-12.0.0rc1.src.tar.xz.sig
|
||||||
|
|
|
@ -0,0 +1,134 @@
|
||||||
|
From 2aa1af9b1da0d832270d9b8afcba19a4aba2c366 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@moritz.systems>
|
||||||
|
Date: Tue, 2 Feb 2021 13:09:45 -0600
|
||||||
|
Subject: [PATCH] [MLIR] [CMake] Support building MLIR standalone
|
||||||
|
|
||||||
|
Add the necessary bits to CMakeLists to make it possible to configure
|
||||||
|
MLIR against installed LLVM, and build it with minimal need for LLVM
|
||||||
|
source tree. The latter is only necessary to run unittests, and if it
|
||||||
|
is missing then unittests are skipped with a warning.
|
||||||
|
|
||||||
|
This change includes the necessary changes to tests, in particular
|
||||||
|
adding some missing substitutions and defining missing variables
|
||||||
|
for lit.site.cfg.py substitution.
|
||||||
|
|
||||||
|
Reviewed By: stephenneuendorffer
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D85464
|
||||||
|
|
||||||
|
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
|
||||||
|
---
|
||||||
|
mlir/CMakeLists.txt | 33 ++++++++++++++++++++++++++++++++-
|
||||||
|
mlir/cmake/modules/AddMLIR.cmake | 1 +
|
||||||
|
mlir/test/CMakeLists.txt | 5 ++++-
|
||||||
|
mlir/test/lit.cfg.py | 4 ++++
|
||||||
|
4 files changed, 41 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
|
||||||
|
index cbae5fd..baacbdd3 100644
|
||||||
|
--- a/mlir/CMakeLists.txt
|
||||||
|
+++ b/mlir/CMakeLists.txt
|
||||||
|
@@ -1,10 +1,37 @@
|
||||||
|
# MLIR project.
|
||||||
|
+
|
||||||
|
+# Check if MLIR is built as a standalone project.
|
||||||
|
+if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||||
|
+ project(mlir)
|
||||||
|
+ cmake_minimum_required(VERSION 3.13.4)
|
||||||
|
+
|
||||||
|
+ find_package(LLVM CONFIG REQUIRED)
|
||||||
|
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
|
||||||
|
+ include(HandleLLVMOptions)
|
||||||
|
+ include(AddLLVM)
|
||||||
|
+ include(TableGen)
|
||||||
|
+
|
||||||
|
+ include_directories(${LLVM_INCLUDE_DIRS})
|
||||||
|
+
|
||||||
|
+ set(LLVM_MAIN_SRC_DIR ${CMAKE_SOURCE_DIR}/../llvm CACHE PATH
|
||||||
|
+ "Path to LLVM source tree")
|
||||||
|
+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
|
||||||
|
+ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h)
|
||||||
|
+ add_subdirectory(${UNITTEST_DIR} utils/unittest)
|
||||||
|
+ endif()
|
||||||
|
+
|
||||||
|
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
|
||||||
|
+ "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
|
||||||
|
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
|
set(MLIR_MAIN_INCLUDE_DIR ${MLIR_MAIN_SRC_DIR}/include )
|
||||||
|
|
||||||
|
set(MLIR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
set(MLIR_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
set(MLIR_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include)
|
||||||
|
+set(MLIR_TOOLS_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
|
||||||
|
|
||||||
|
@@ -106,7 +133,11 @@ add_subdirectory(lib)
|
||||||
|
add_subdirectory(lib/CAPI)
|
||||||
|
if (MLIR_INCLUDE_TESTS)
|
||||||
|
add_definitions(-DMLIR_INCLUDE_TESTS)
|
||||||
|
- add_subdirectory(unittests)
|
||||||
|
+ if (TARGET gtest)
|
||||||
|
+ add_subdirectory(unittests)
|
||||||
|
+ else()
|
||||||
|
+ message(WARNING "gtest not found, unittests will not be available")
|
||||||
|
+ endif()
|
||||||
|
add_subdirectory(test)
|
||||||
|
endif()
|
||||||
|
if (MLIR_INCLUDE_INTEGRATION_TESTS)
|
||||||
|
diff --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake
|
||||||
|
index 4cfd351..4a814ea 100644
|
||||||
|
--- a/mlir/cmake/modules/AddMLIR.cmake
|
||||||
|
+++ b/mlir/cmake/modules/AddMLIR.cmake
|
||||||
|
@@ -2,6 +2,7 @@ function(mlir_tablegen ofn)
|
||||||
|
tablegen(MLIR ${ARGV})
|
||||||
|
set(TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} ${CMAKE_CURRENT_BINARY_DIR}/${ofn}
|
||||||
|
PARENT_SCOPE)
|
||||||
|
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Declare a dialect in the include directory
|
||||||
|
diff --git a/mlir/test/CMakeLists.txt b/mlir/test/CMakeLists.txt
|
||||||
|
index 9ab9c09..999201e 100644
|
||||||
|
--- a/mlir/test/CMakeLists.txt
|
||||||
|
+++ b/mlir/test/CMakeLists.txt
|
||||||
|
@@ -42,7 +42,6 @@ configure_lit_site_cfg(
|
||||||
|
|
||||||
|
set(MLIR_TEST_DEPENDS
|
||||||
|
FileCheck count not
|
||||||
|
- MLIRUnitTests
|
||||||
|
mlir-capi-ir-test
|
||||||
|
mlir-capi-pass-test
|
||||||
|
mlir-cpu-runner
|
||||||
|
@@ -58,6 +57,10 @@ set(MLIR_TEST_DEPENDS
|
||||||
|
mlir_async_runtime
|
||||||
|
)
|
||||||
|
|
||||||
|
+if(TARGET gtest)
|
||||||
|
+ list(APPEND MLIR_TEST_DEPENDS MLIRUnitTests)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
if(LLVM_BUILD_EXAMPLES)
|
||||||
|
list(APPEND MLIR_TEST_DEPENDS
|
||||||
|
toyc-ch1
|
||||||
|
diff --git a/mlir/test/lit.cfg.py b/mlir/test/lit.cfg.py
|
||||||
|
index 482513b..bff47851 100644
|
||||||
|
--- a/mlir/test/lit.cfg.py
|
||||||
|
+++ b/mlir/test/lit.cfg.py
|
||||||
|
@@ -61,6 +61,10 @@ tools = [
|
||||||
|
'mlir-capi-ir-test',
|
||||||
|
'mlir-capi-pass-test',
|
||||||
|
'mlir-edsc-builder-api-test',
|
||||||
|
+ 'mlir-cpu-runner',
|
||||||
|
+ 'mlir-linalg-ods-gen',
|
||||||
|
+ 'mlir-reduce',
|
||||||
|
+ 'mlir-sdbm-api-test',
|
||||||
|
]
|
||||||
|
|
||||||
|
# The following tools are optional
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
From c95c0db2eb687edb91afa628655bb5025f7e863b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Isuru Fernando <isuruf@gmail.com>
|
||||||
|
Date: Thu, 4 Feb 2021 01:59:08 +0000
|
||||||
|
Subject: [PATCH] [MLIR] Fix building unittests in in-tree build
|
||||||
|
|
||||||
|
Reviewed By: mehdi_amini
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D95978
|
||||||
|
---
|
||||||
|
mlir/CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
|
||||||
|
index baacbdd3..5d21312 100644
|
||||||
|
--- a/mlir/CMakeLists.txt
|
||||||
|
+++ b/mlir/CMakeLists.txt
|
||||||
|
@@ -133,7 +133,7 @@ add_subdirectory(lib)
|
||||||
|
add_subdirectory(lib/CAPI)
|
||||||
|
if (MLIR_INCLUDE_TESTS)
|
||||||
|
add_definitions(-DMLIR_INCLUDE_TESTS)
|
||||||
|
- if (TARGET gtest)
|
||||||
|
+ if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
|
||||||
|
add_subdirectory(unittests)
|
||||||
|
else()
|
||||||
|
message(WARNING "gtest not found, unittests will not be available")
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
|
|
||||||
index 806eb42db..5fa0c16dc 100644
|
|
||||||
--- a/mlir/CMakeLists.txt
|
|
||||||
+++ b/mlir/CMakeLists.txt
|
|
||||||
@@ -1,4 +1,50 @@
|
|
||||||
-# MLIR project.
|
|
||||||
+# Check if this is a in tree build.
|
|
||||||
+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
|
|
||||||
+ project(Mlir)
|
|
||||||
+ cmake_minimum_required(VERSION 3.13.4)
|
|
||||||
+
|
|
||||||
+ # Where is LLVM installed?
|
|
||||||
+ find_package(LLVM CONFIG REQUIRED)
|
|
||||||
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
|
|
||||||
+ include(HandleLLVMOptions)
|
|
||||||
+ include(AddLLVM)
|
|
||||||
+ include(TableGen)
|
|
||||||
+
|
|
||||||
+ # Add the llvm header path.
|
|
||||||
+ include_directories(${LLVM_INCLUDE_DIRS})
|
|
||||||
+ # Local builddir generated header inclusion
|
|
||||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I.")
|
|
||||||
+
|
|
||||||
+ # Sources available, too?
|
|
||||||
+ if (LLVM_BUILD_MAIN_SRC_DIR)
|
|
||||||
+ set(LLVM_SOURCE_ROOT ${LLVM_BUILD_MAIN_SRC_DIR} CACHE PATH
|
|
||||||
+ "Path to LLVM source tree")
|
|
||||||
+ else()
|
|
||||||
+ execute_process(COMMAND "${LLVM_TOOLS_BINARY_DIR}/llvm-config" --src-root
|
|
||||||
+ OUTPUT_VARIABLE MAIN_SRC_DIR
|
|
||||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
+ set(LLVM_SOURCE_ROOT ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
|
|
||||||
+ endif()
|
|
||||||
+
|
|
||||||
+ # Make sure the isl c files are built as fPIC
|
|
||||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
||||||
+
|
|
||||||
+ # Set directory for mlir test.
|
|
||||||
+ set(MLIR_TOOLS_DIR "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
|
||||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
|
||||||
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
|
||||||
+
|
|
||||||
+ if (LLVM_ENABLE_DOXYGEN)
|
|
||||||
+ message(STATUS "Doxygen enabled.")
|
|
||||||
+ find_package(Doxygen REQUIRED)
|
|
||||||
+ else()
|
|
||||||
+ message(STATUS "Doxygen disabled.")
|
|
||||||
+ endif()
|
|
||||||
+
|
|
||||||
+else ()
|
|
||||||
+ set(LLVM_SOURCE_ROOT "${LLVM_MAIN_SRC_DIR}")
|
|
||||||
+endif ()
|
|
||||||
+
|
|
||||||
set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
|
|
||||||
set(MLIR_MAIN_INCLUDE_DIR ${MLIR_MAIN_SRC_DIR}/include )
|
|
||||||
|
|
19
mlir.spec
19
mlir.spec
|
@ -1,7 +1,7 @@
|
||||||
%global rc_ver 2
|
%global rc_ver 1
|
||||||
%global baserelease 3
|
%global baserelease 1
|
||||||
%global maj_ver 11
|
%global maj_ver 12
|
||||||
%global min_ver 1
|
%global min_ver 0
|
||||||
%global patch_ver 0
|
%global patch_ver 0
|
||||||
%global mlir_srcdir llvm-project-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%global mlir_srcdir llvm-project-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{versio
|
||||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{mlir_srcdir}.tar.xz.sig
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{mlir_srcdir}.tar.xz.sig
|
||||||
Source2: tstellar-gpg-key.asc
|
Source2: tstellar-gpg-key.asc
|
||||||
|
|
||||||
# Support standalone build (MLIR is usually built as part of LLVM)
|
Patch0: 0001-MLIR-CMake-Support-building-MLIR-standalone.patch
|
||||||
Patch0: mlir-cmake-standalone.patch
|
Patch1: 0001-MLIR-Fix-building-unittests-in-in-tree-build.patch
|
||||||
|
|
||||||
# Unexpected linking error: neither -j1, disabling lto, LD_LIBRARY_PATH, rpath work
|
# Unexpected linking error: neither -j1, disabling lto, LD_LIBRARY_PATH, rpath work
|
||||||
ExcludeArch: armv7hl
|
ExcludeArch: armv7hl
|
||||||
|
@ -65,7 +65,7 @@ find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} +
|
||||||
-DCMAKE_SKIP_RPATH=ON \
|
-DCMAKE_SKIP_RPATH=ON \
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||||
-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \
|
-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \
|
||||||
-DLLVM_BUILD_UTILS:BOOL=ON \
|
-DLLVM_BUILD_UTILS:BOOL=ON \
|
||||||
-DMLIR_INCLUDE_DOCS:BOOL=ON \
|
-DMLIR_INCLUDE_DOCS:BOOL=ON \
|
||||||
-DMLIR_INCLUDE_TESTS:BOOL=OFF \
|
-DMLIR_INCLUDE_TESTS:BOOL=OFF \
|
||||||
-DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \
|
-DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \
|
||||||
|
@ -75,7 +75,7 @@ find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} +
|
||||||
-DLLVM_LIBDIR_SUFFIX=
|
-DLLVM_LIBDIR_SUFFIX=
|
||||||
%endif
|
%endif
|
||||||
# build process .exe tools normally use rpath or static linkage
|
# build process .exe tools normally use rpath or static linkage
|
||||||
export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/bin
|
export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/%{_lib}
|
||||||
%cmake_build
|
%cmake_build
|
||||||
|
|
||||||
|
|
||||||
|
@ -107,6 +107,9 @@ export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/bin
|
||||||
%{_libdir}/cmake/mlir
|
%{_libdir}/cmake/mlir
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 18 2021 sguelton@redhat.com - 12.0.0-0.1.rc1
|
||||||
|
- llvm 12.0.0-rc1 release
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-0.3.rc2
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-0.3.rc2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
|
4
sources
4
sources
|
@ -1,2 +1,2 @@
|
||||||
SHA512 (llvm-project-11.1.0rc2.src.tar.xz) = c40a416152e64b3589a24d072c7081f7de6515edf0f6c8d51cfe29ebd16b35ea7450244cb37e525a12671bef85bdc0caf001abdff0573f1babc06886f76d2a41
|
SHA512 (llvm-project-12.0.0rc1.src.tar.xz) = 319e75a2e454665b85fd07c3f45f5e8c947e24278feec6d19aeaf3b5b4187550f12a26c3ceff5b697d6b38f1ba245dbe57e6fe222ca6b0b63d54aca352b8490c
|
||||||
SHA512 (llvm-project-11.1.0rc2.src.tar.xz.sig) = da28a8ec00edd100a017266c2ae398dcc0c1ce49d3ad631262a3b4445f968bb65d0fb0d86afac4c38c6651039939f1b4c3e41c6ac620adf26c02f0a8b88fef21
|
SHA512 (llvm-project-12.0.0rc1.src.tar.xz.sig) = e7fdd5fc1fe140c5cc2aa1d0e9143a9ca6f869a1988ae73d1a7e20e3c97c6571a5939d271451341dcdd92db7a500ca9448685110faef90cfae39703bd8b63896
|
||||||
|
|
Loading…
Reference in New Issue