Compare commits

...

23 Commits

Author SHA1 Message Date
David Abdurachmanov 663734e1ae
Disable LTO on riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-06-25 08:45:36 +03:00
Tulio Magno Quites Machado Filho 34e5ccbe26 Update to LLVM 16.0.5 2023-06-06 14:10:10 -03:00
Tulio Magno Quites Machado Filho daf8afb754 Update to LLVM 16.0.4 2023-05-19 21:09:51 -03:00
Tulio Magno Quites Machado Filho 7eacdb93c8 Update to LLVM 16.0.3 2023-05-10 17:06:17 -03:00
Tulio Magno Quites Machado Filho 751fb3fb46 Update to LLVM 16.0.2 2023-04-27 11:58:56 -03:00
Tulio Magno Quites Machado Filho eb160436fa Update to LLVM 16.0.1 2023-04-13 10:01:56 -03:00
Nikita Popov c47520ce45 Build with clang 2023-04-06 19:13:06 +02:00
Tulio Magno Quites Machado Filho 5f0584640a Deal with memory limits on ppc64le and s390x
- Decrease dwz limits on s390x.
- Link ppc64le files with a single job.
2023-04-04 18:08:09 -03:00
Tulio Magno Quites Machado Filho e01cab0851 Disable s390x builds temporarily 2023-04-03 16:00:22 -03:00
Tulio Magno Quites Machado Filho a67f2a093a Update to LLVM 16.0.0 2023-03-27 12:22:58 -03:00
Tulio Magno Quites Machado Filho 579338f8dc Stop building on i686
The test results have worsen recently and it's unclear if upstream has
been actively supporting i686.
2023-03-23 15:49:42 -03:00
Tulio Magno Quites Machado Filho 806f38d805 Update to LLVM 16.0.0 RC4
Start using LLVM_THIRD_PARTY_DIR in order to remove
0001-Changes-the-path-to-gtest.patch.
2023-03-23 15:49:42 -03:00
Tulio Magno Quites Machado Filho 53b54148fb Tune dwz on aarch64
Reduce the dwz limits on aarch64 in order to reduce memory footprint and
avoid OOMs.
2023-03-15 16:53:33 -03:00
Tulio Magno Quites Machado Filho 94faead4aa Disable tests on i386
Some of these tests should not be executed on i386, but most of them
need to be reviewed first if they are safe to run or not.
2023-03-15 16:52:19 -03:00
Tulio Magno Quites Machado Filho 328986c9eb Update to LLVM 16.0.0 RC3 2023-02-23 16:51:10 -03:00
Tulio Magno Quites Machado Filho 8b50db1b55 Remove many entries from .gitignore
Replace them with a new globs.
2023-02-23 16:12:57 -03:00
Tulio Magno Quites Machado Filho 22454e1cd5 Update to LLVM 16.0.0 RC1 2023-02-23 16:12:46 -03:00
Fedora Release Engineering f258df125a Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 20:25:44 +00:00
Nikita Popov 48083a1fc9 Update to LLVM 15.0.7 2023-01-13 09:54:22 +01:00
Nikita Popov 9efc5db023 Omit frame pointers when building 2023-01-13 09:46:05 +01:00
Nikita Popov 600e14fd37 Add gating.yaml 2023-01-02 14:53:11 +01:00
Nikita Popov 6eee1753a8 rhbz#2127916: Add mlir tools to mlir-devel 2022-12-23 16:17:26 +01:00
Nikita Popov b9db26a7fb Update to LLVM 15.0.6 2022-12-05 17:35:13 +01:00
5 changed files with 195 additions and 73 deletions

63
.gitignore vendored
View File

@ -1,60 +1,3 @@
/llvm-project-11.0.0rc2.tar.xz
/llvm-project-11.0.0rc2.tar.xz.sig
/llvm-project-11.0.0rc3.tar.xz
/llvm-project-11.0.0rc3.tar.xz.sig
/llvm-project-11.0.0rc5.tar.xz
/llvm-project-11.0.0rc5.tar.xz.sig
/llvm-project-11.0.0rc6.tar.xz
/llvm-project-11.0.0rc6.tar.xz.sig
/llvm-project-11.0.0.tar.xz.sig
/llvm-project-11.0.0.tar.xz
/llvm-project-11.0.1rc1.src.tar.xz
/llvm-project-11.0.1rc1.src.tar.xz.sig
/llvm-project-11.0.1rc2.src.tar.xz
/llvm-project-11.0.1rc2.src.tar.xz.sig
/llvm-project-11.0.1.src.tar.xz
/llvm-project-11.0.1.src.tar.xz.sig
/llvm-project-11.1.0rc1.src.tar.xz
/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.sig
/llvm-project-12.0.0rc1.src.tar.xz
/llvm-project-12.0.0rc1.src.tar.xz.sig
/llvm-project-12.0.0rc2.src.tar.xz
/llvm-project-12.0.0rc2.src.tar.xz.sig
/llvm-project-12.0.0rc3.src.tar.xz
/llvm-project-12.0.0rc3.src.tar.xz.sig
/llvm-project-12.0.0rc4.src.tar.xz
/llvm-project-12.0.0rc4.src.tar.xz.sig
/llvm-project-12.0.0rc5.src.tar.xz
/llvm-project-12.0.0rc5.src.tar.xz.sig
/llvm-project-12.0.0.src.tar.xz
/llvm-project-12.0.0.src.tar.xz.sig
/llvm-project-12.0.1rc1.src.tar.xz
/llvm-project-12.0.1rc1.src.tar.xz.sig
/llvm-project-12.0.1rc3.src.tar.xz
/llvm-project-12.0.1rc3.src.tar.xz.sig
/llvm-project-12.0.1.src.tar.xz
/llvm-project-12.0.1.src.tar.xz.sig
/llvm-project-13.0.0rc1.src.tar.xz
/llvm-project-13.0.0rc1.src.tar.xz.sig
/llvm-project-13.0.0rc3.src.tar.xz
/llvm-project-13.0.0rc3.src.tar.xz.sig
/llvm-project-13.0.0.src.tar.xz
/llvm-project-13.0.0.src.tar.xz.sig
/llvm-project-13.0.1rc1.src.tar.xz
/llvm-project-13.0.1rc1.src.tar.xz.sig
/llvm-project-13.0.1rc2.src.tar.xz
/llvm-project-13.0.1rc2.src.tar.xz.sig
/llvm-project-13.0.1rc3.src.tar.xz
/llvm-project-13.0.1rc3.src.tar.xz.sig
/llvm-project-13.0.1.src.tar.xz
/llvm-project-13.0.1.src.tar.xz.sig
/llvm-project-14.0.0.src.tar.xz
/llvm-project-14.0.0.src.tar.xz.sig
/llvm-project-14.0.5.src.tar.xz.sig
/llvm-project-14.0.5.src.tar.xz
/llvm-project-15.0.0.src.tar.xz
/llvm-project-15.0.0.src.tar.xz.sig
/llvm-project-15.0.4.src.tar.xz
/llvm-project-15.0.4.src.tar.xz.sig
/*.tar.xz
/*.tar.xz.sig
/*.src.rpm

View File

@ -0,0 +1,30 @@
From 500300bc35937e7cd3d7ae3a4c91c29c4f98033a Mon Sep 17 00:00:00 2001
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Date: Mon, 27 Mar 2023 10:25:05 -0300
Subject: [PATCH] [mlir] Change LLVM_COMMON_CMAKE_UTILS usage
Let LLVM_COMMON_CMAKE_UTILS store the directory where cmake modules are
available and stop assuming its directory structure.
---
mlir/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
index af83f8132405..fbc192e2c187 100644
--- a/mlir/CMakeLists.txt
+++ b/mlir/CMakeLists.txt
@@ -2,9 +2,9 @@
cmake_minimum_required(VERSION 3.13.4)
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
- set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
+ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules)
endif()
-include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
+include(${LLVM_COMMON_CMAKE_UTILS}/CMakePolicy.cmake
NO_POLICY_SCOPE)
# Check if MLIR is built as a standalone project.
--
2.39.2

9
gating.yaml Normal file
View File

@ -0,0 +1,9 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

162
mlir.spec
View File

@ -1,13 +1,22 @@
%global maj_ver 15
%global toolchain clang
%global maj_ver 16
%global min_ver 0
#global rc_ver 3
%global patch_ver 4
%global patch_ver 5
#global rc_ver 4
%global mlir_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global mlir_srcdir llvm-project-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
%global mlir_srcdir mlir-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
%ifarch riscv64
%global _lto_cflags %{nil}
%endif
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers
Name: mlir
Version: %{mlir_version}%{?rc_ver:~rc%{rc_ver}}
Release: 1%{?dist}
Release: 1.0.riscv64%{?dist}
Summary: Multi-Level Intermediate Representation Overview
License: Apache-2.0 WITH LLVM-exception
@ -16,12 +25,17 @@ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ve
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{mlir_srcdir}.tar.xz.sig
Source2: release-keys.asc
BuildRequires: gcc
BuildRequires: gcc-c++
Patch0: 0001-mlir-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch
# Support for i686 upstream is unclear with lots of tests failling.
ExcludeArch: i686
BuildRequires: clang
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: zlib-devel
BuildRequires: llvm-devel = %{version}
BuildRequires: llvm-googletest = %{version}
BuildRequires: llvm-test = %{version}
BuildRequires: python3-lit
@ -52,12 +66,29 @@ MLIR development files.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -n %{mlir_srcdir}/%{name} -p2
# remove all but keep mlir
find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} +
%autosetup -n %{mlir_srcdir} -p2
%build
%ifarch %ix86
%global debug_package %{nil}
%global _lto_cflags %{nil}
%endif
# On aarch64, dwz can take very long to process all the files. It either fails
# reaching a timeout or consumes too much RAM. Restrict its resources in
# order to stop dwz early. We prefer to miss the DWARF optimization than not
# not being able to build this package on aarch64.
%global _dwz_low_mem_die_limit_aarch64 1
%global _dwz_max_die_limit_aarch64 1000000
# On s390x, dwz consumes too much RAM. Restrict its resources in
# order to stop dwz early. We prefer to miss the DWARF optimization than not
# not being able to build this package on aarch64.
%global _dwz_low_mem_die_limit_s390x 1
%global _dwz_max_die_limit_s390x 1000000
%cmake -GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_SKIP_RPATH=ON \
@ -65,6 +96,9 @@ find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} +
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
-DLLVM_THIRD_PARTY_DIR=%{_datadir}/llvm/src/utils \
-DLLVM_COMMON_CMAKE_UTILS=%{_libdir}/cmake/llvm/ \
-DLLVM_BUILD_TOOLS:BOOL=ON \
-DLLVM_BUILD_UTILS:BOOL=ON \
-DMLIR_INCLUDE_DOCS:BOOL=ON \
-DMLIR_INCLUDE_TESTS:BOOL=ON \
@ -72,6 +106,12 @@ find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} +
-DBUILD_SHARED_LIBS=OFF \
-DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF \
-DMLIR_BUILD_MLIR_C_DYLIB=ON \
%ifarch %ix86 ppc64le
-DLLVM_PARALLEL_LINK_JOBS=1 \
%endif
%ifarch %ix86
-DMLIR_RUN_X86VECTOR_TESTS:BOOL=OFF \
%endif
%if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64
%else
@ -89,9 +129,43 @@ export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/%{_lib}
# Remove tablegen tests, as they rely on includes from llvm/.
rm -rf test/mlir-tblgen
# TODO: Test currently fails on i686.
%ifarch %{ix86}
# TODO: Test currently fails on i686.
rm test/IR/file-metadata-resources.mlir
# TODO: There's two issues here (see https://github.com/llvm/llvm-project/issues/58357):
# 1. The async dialect hardcodes a 64-bit assumption.
# 2. The cpu runner tests call mlir-opt without awareness of the host index size.
# For this reason, skip mlir-cpu-runner tests on 32-bit.
rm -rf test/mlir-cpu-runner
# The following test requires AVX2.
rm -rf test/Dialect/Math/polynomial-approximation.mlir
# TODO: Can these vector tests pass on i386?
rm -rf test/Conversion/MathToLibm/convert-to-libm.mlir
rm -rf test/Dialect/Vector/canonicalize.mlir
rm -rf test/Dialect/Vector/vector-unroll-options.mlir
rm -rf test/Dialect/SparseTensor/sparse_vector_ops.mlir
# TODO: Investigate the following issues.
rm -rf test/mlir-pdll-lsp-server/compilation_database.test
rm -rf test/mlir-pdll-lsp-server/completion.test
rm -rf test/mlir-pdll-lsp-server/definition-split-file.test
rm -rf test/mlir-pdll-lsp-server/definition.test
rm -rf test/mlir-pdll-lsp-server/document-links.test
rm -rf test/mlir-pdll-lsp-server/document-symbols.test
rm -rf test/mlir-pdll-lsp-server/exit-eof.test
rm -rf test/mlir-pdll-lsp-server/exit-with-shutdown.test
rm -rf test/mlir-pdll-lsp-server/exit-without-shutdown.test
rm -rf test/mlir-pdll-lsp-server/hover.test
rm -rf test/mlir-pdll-lsp-server/initialize-params-invalid.test
rm -rf test/mlir-pdll-lsp-server/initialize-params.test
rm -rf test/mlir-pdll-lsp-server/inlay-hints.test
rm -rf test/mlir-pdll-lsp-server/references.test
rm -rf test/mlir-pdll-lsp-server/signature-help.test
rm -rf test/mlir-pdll-lsp-server/textdocument-didchange.test
rm -rf test/mlir-pdll-lsp-server/view-output.test
%endif
# Test execution normally relies on RPATH, so set LD_LIBRARY_PATH instead.
@ -103,22 +177,88 @@ export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%{_libdir}/libMLIR*.so.%{maj_ver}*
%{_libdir}/libmlir_async_runtime.so.%{maj_ver}*
%{_libdir}/libmlir_c_runner_utils.so.%{maj_ver}*
%{_libdir}/libmlir_float16_utils.so.%{maj_ver}*
%{_libdir}/libmlir_runner_utils.so.%{maj_ver}*
%files static
%{_libdir}/libMLIR*.a
%files devel
%{_bindir}/mlir-cpu-runner
%{_bindir}/mlir-linalg-ods-yaml-gen
%{_bindir}/mlir-lsp-server
%{_bindir}/mlir-opt
%{_bindir}/mlir-pdll
%{_bindir}/mlir-pdll-lsp-server
%{_bindir}/mlir-reduce
%{_bindir}/mlir-tblgen
%{_bindir}/mlir-translate
%{_bindir}/tblgen-lsp-server
%{_libdir}/libMLIR*.so
%{_libdir}/libmlir_async_runtime.so
%{_libdir}/libmlir_c_runner_utils.so
%{_libdir}/libmlir_float16_utils.so
%{_libdir}/libmlir_runner_utils.so
%{_includedir}/mlir
%{_includedir}/mlir-c
%{_libdir}/cmake/mlir
%changelog
* Sun Jun 25 2023 David Abdurachmanov <davidlt@rivosinc.com> - 16.0.5-1.0.riscv64
- Disable LTO on riscv64
* Tue Jun 06 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.5-1
- Update to LLVM 16.0.5
* Fri May 19 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.4-1
- Update to LLVM 16.0.4
* Wed May 10 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.3-1
- Update to LLVM 16.0.3
* Thu Apr 27 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.2-1
- Update to LLVM 16.0.2
* Thu Apr 13 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.1-1
- Update to LLVM 16.0.1
* Thu Apr 06 2023 Nikita Popov <npopov@redhat.com> - 16.0.0-4
- Build with clang
* Mon Apr 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-3
- Re-enable s390x builds
- Link ppc64le serially in order to avoid hitting memory limits
* Mon Apr 03 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-2
- Disable s390x builds temporarily
* Tue Mar 21 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0-1
- Update to LLVM 16.0.0
* Wed Mar 15 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc4-1
- Update to LLVM 16.0.0 RC4
* Thu Feb 23 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc3-1
- Update to LLVM 16.0.0 RC3
* Wed Feb 15 2023 Tulio Magno Quites Machado Filho <tuliom@redhat.com> - 16.0.0~rc1-1
- Update to LLVM 16.0.0 RC1
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 15.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 13 2023 Nikita Popov <npopov@redhat.com> - 15.0.7-1
- Update to LLVM 15.0.7
* Fri Jan 13 2023 Nikita Popov <npopov@redhat.com> - 15.0.6-3
- Omit frame pointers when building
* Thu Dec 22 2022 Nikita Popov <npopov@redhat.com> - 15.0.6-2
- rhbz#2127916: Add mlir tools to mlir-devel
* Mon Dec 05 2022 Nikita Popov <npopov@redhat.com> - 15.0.6-1
- Update to LLVM 15.0.6
* Mon Nov 07 2022 Nikita Popov <npopov@redhat.com> - 15.0.4-1
- Update to LLVM 15.0.4

View File

@ -1,2 +1,2 @@
SHA512 (llvm-project-15.0.4.src.tar.xz) = 9d5b664dd77c08130601636f9d6c006b257f369470ce823aa56d06698a9f0edfec42f2c90da934b9ad52c4d7960d9a024ea46dc9640275be6d191b1ba9869459
SHA512 (llvm-project-15.0.4.src.tar.xz.sig) = 35899ffbd13fc44cade54246a423450571cb4b62b8d706864daa3eef2377c48e24ef3113218e39e29de995b7f7fa307f9187552766576c9050fd924beb517f6e
SHA512 (mlir-16.0.5.src.tar.xz) = 237a305a11366666587b3f2e69975f0ae11969bb93f1801ed1bee26fabfcff36bdbac9a3747ff691fe4874a9ee7ca10d8524f956abcb49e153565a916555c600
SHA512 (mlir-16.0.5.src.tar.xz.sig) = 9ea0ef1cd81a02920ce99f5dc9af92f8453520c73c55600e816cb92bf9a5cfcb580d26338e213b18819f7992a1b29d153ad33eb88a324793dc1137e3ea65a0b3