Compare commits
10 Commits
7f439e89b0
...
8f4c48bf2f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f4c48bf2f | ||
|
|
af9fe74737 | ||
|
|
019e503605 | ||
|
|
b615f17aaf | ||
|
|
c84aa44c85 | ||
|
|
bb2b4f646a | ||
|
|
30c310c9ea | ||
|
|
7f80606b2c | ||
|
|
e7903f30c4 | ||
|
|
9ffdde12ad |
@ -1,134 +0,0 @@
|
|||||||
From 9deba96d8f15d948e92c49e40a671fbedc328457 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 1/2] [PATCH][mlir] 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 293d932..5feedd5 100644
|
|
||||||
--- a/mlir/test/CMakeLists.txt
|
|
||||||
+++ b/mlir/test/CMakeLists.txt
|
|
||||||
@@ -43,7 +43,6 @@ configure_lit_site_cfg(
|
|
||||||
|
|
||||||
set(MLIR_TEST_DEPENDS
|
|
||||||
FileCheck count not
|
|
||||||
- MLIRUnitTests
|
|
||||||
mlir-capi-ir-test
|
|
||||||
mlir-capi-pass-test
|
|
||||||
mlir-cpu-runner
|
|
||||||
@@ -61,6 +60,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
|
|
||||||
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
From e09b298273994b20cc8747765a567d716e241fd2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Isuru Fernando <isuruf@gmail.com>
|
|
||||||
Date: Thu, 4 Feb 2021 01:59:08 +0000
|
|
||||||
Subject: [PATCH 2/2] [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
|
|
||||||
|
|
||||||
18
README.en.md
18
README.en.md
@ -2,21 +2,9 @@
|
|||||||
|
|
||||||
#### Description
|
#### Description
|
||||||
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
||||||
|
MLIR aims to address software fragmentation, improve compilation for heterogeneous hardware,
|
||||||
#### Software Architecture
|
significantly reduce the cost of building domain specific compilers, and aid in connecting
|
||||||
Software architecture description
|
existing compilers together.
|
||||||
|
|
||||||
#### Installation
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Contribution
|
#### Contribution
|
||||||
|
|
||||||
|
|||||||
19
README.md
19
README.md
@ -2,22 +2,9 @@
|
|||||||
|
|
||||||
#### 介绍
|
#### 介绍
|
||||||
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
||||||
|
MLIR aims to address software fragmentation, improve compilation for heterogeneous hardware,
|
||||||
#### 软件架构
|
significantly reduce the cost of building domain specific compilers, and aid in connecting
|
||||||
软件架构说明
|
existing compilers together.
|
||||||
|
|
||||||
|
|
||||||
#### 安装教程
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 使用说明
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 参与贡献
|
#### 参与贡献
|
||||||
|
|
||||||
|
|||||||
71
fedora-0001-mlir-python-Reuse-the-library-directory.patch
Normal file
71
fedora-0001-mlir-python-Reuse-the-library-directory.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From d8d712c632e925139a6e5e53ee64749301358b25 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
|
||||||
|
Date: Tue, 5 Sep 2023 10:35:37 -0300
|
||||||
|
Subject: [PATCH] [mlir][python] Reuse the library directory
|
||||||
|
|
||||||
|
Prefer to get the path to the shared libraries from config.llvm_shlib_dir.
|
||||||
|
Fallback to the previous path only if config.llvm_shlib_dir is not
|
||||||
|
defined.
|
||||||
|
|
||||||
|
This ensures the test will pass regardless of the build configuration
|
||||||
|
used downstream.
|
||||||
|
---
|
||||||
|
mlir/test/lit.cfg.py | 1 +
|
||||||
|
mlir/test/python/execution_engine.py | 12 +++++++-----
|
||||||
|
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/mlir/test/lit.cfg.py b/mlir/test/lit.cfg.py
|
||||||
|
index 3a8bdbfcec28..eb8e66a2491c 100644
|
||||||
|
--- a/mlir/test/lit.cfg.py
|
||||||
|
+++ b/mlir/test/lit.cfg.py
|
||||||
|
@@ -130,6 +130,7 @@ tools.extend(
|
||||||
|
ToolSubst("toyc-ch7", unresolved="ignore"),
|
||||||
|
ToolSubst('transform-opt-ch2', unresolved='ignore'),
|
||||||
|
ToolSubst('transform-opt-ch3', unresolved='ignore'),
|
||||||
|
+ ToolSubst("%llvm_shlib_dir", config.llvm_shlib_dir, unresolved="ignore"),
|
||||||
|
ToolSubst("%mlir_lib_dir", config.mlir_lib_dir, unresolved="ignore"),
|
||||||
|
ToolSubst("%mlir_src_dir", config.mlir_src_root, unresolved="ignore"),
|
||||||
|
]
|
||||||
|
diff --git a/mlir/test/python/execution_engine.py b/mlir/test/python/execution_engine.py
|
||||||
|
index e8b47007a890..0cb78dd0bac6 100644
|
||||||
|
--- a/mlir/test/python/execution_engine.py
|
||||||
|
+++ b/mlir/test/python/execution_engine.py
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-# RUN: %PYTHON %s 2>&1 | FileCheck %s
|
||||||
|
+# RUN: env LLVM_SHLIB_DIR=%llvm_shlib_dir %PYTHON %s 2>&1 | FileCheck %s
|
||||||
|
# REQUIRES: host-supports-jit
|
||||||
|
import gc, sys, os, tempfile
|
||||||
|
from mlir.ir import *
|
||||||
|
@@ -6,6 +6,8 @@ from mlir.passmanager import *
|
||||||
|
from mlir.execution_engine import *
|
||||||
|
from mlir.runtime import *
|
||||||
|
|
||||||
|
+_DEFAULT_LIB_DIR = "../../../../lib"
|
||||||
|
+LIB_DIR = os.getenv("LLVM_SHLIB_DIR", _DEFAULT_LIB_DIR)
|
||||||
|
|
||||||
|
# Log everything to stderr and flush so that we have a unified stream to match
|
||||||
|
# errors/info emitted by MLIR to stderr.
|
||||||
|
@@ -540,8 +542,8 @@ def testSharedLibLoad():
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
shared_libs = [
|
||||||
|
- "../../../../lib/libmlir_runner_utils.so",
|
||||||
|
- "../../../../lib/libmlir_c_runner_utils.so",
|
||||||
|
+ LIB_DIR + "/libmlir_runner_utils.so",
|
||||||
|
+ LIB_DIR + "/libmlir_c_runner_utils.so",
|
||||||
|
]
|
||||||
|
|
||||||
|
execution_engine = ExecutionEngine(
|
||||||
|
@@ -583,8 +585,8 @@ def testNanoTime():
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
shared_libs = [
|
||||||
|
- "../../../../lib/libmlir_runner_utils.so",
|
||||||
|
- "../../../../lib/libmlir_c_runner_utils.so",
|
||||||
|
+ LIB_DIR + "/libmlir_runner_utils.so",
|
||||||
|
+ LIB_DIR + "/libmlir_c_runner_utils.so",
|
||||||
|
]
|
||||||
|
|
||||||
|
execution_engine = ExecutionEngine(
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
207
llvm-mlir.spec
207
llvm-mlir.spec
@ -1,17 +1,71 @@
|
|||||||
Name: llvm-mlir
|
%bcond_without sys_llvm
|
||||||
Version: 12.0.1
|
%bcond_without check
|
||||||
Release: 0
|
%bcond_without toolchain_clang
|
||||||
Summary: The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
%bcond_without bisheng_autotuner
|
||||||
License: Apache 2.0
|
|
||||||
URL: https://mlir.llvm.org/
|
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-project-%{version}.src.tar.xz
|
|
||||||
Patch0: 0001-PATCH-mlir-Support-building-MLIR-standalone.patch
|
|
||||||
Patch1: 0002-PATCH-mlir-Fix-building-unittests-in-in-tree-build.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++ cmake ninja-build zlib-devel python3-lit llvm-devel
|
%if %{with toolchain_clang}
|
||||||
|
%global toolchain clang
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global maj_ver 17
|
||||||
|
%global min_ver 0
|
||||||
|
%global patch_ver 6
|
||||||
|
%global mlir_version %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
|
%global mlir_srcdir mlir-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
|
%if %{with sys_llvm}
|
||||||
|
%global pkg_name mlir
|
||||||
|
%global install_prefix %{_prefix}
|
||||||
|
%global install_datadir %{_datadir}
|
||||||
|
%else
|
||||||
|
%global pkg_name mlir%{maj_ver}
|
||||||
|
%global install_prefix %{_libdir}/llvm%{maj_ver}
|
||||||
|
%global install_datadir %{install_prefix}/share
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global install_bindir %{install_prefix}/bin
|
||||||
|
%if 0%{?__isa_bits} == 64
|
||||||
|
%global install_libdir %{install_prefix}/lib64
|
||||||
|
%else
|
||||||
|
%global install_libdir %{install_prefix}/lib
|
||||||
|
%endif
|
||||||
|
%global install_includedir %{install_prefix}/include
|
||||||
|
|
||||||
|
Name: %{pkg_name}
|
||||||
|
Version: %{mlir_version}
|
||||||
|
Release: 4
|
||||||
|
Summary: The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
||||||
|
License: Apache-2.0
|
||||||
|
URL: https://mlir.llvm.org/
|
||||||
|
|
||||||
|
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{mlir_version}/%{mlir_srcdir}.tar.xz
|
||||||
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{mlir_version}/%{mlir_srcdir}.tar.xz.sig
|
||||||
|
|
||||||
|
Patch0: fedora-0001-mlir-python-Reuse-the-library-directory.patch
|
||||||
|
|
||||||
|
BuildRequires: clang
|
||||||
|
BuildRequires: gcc gcc-c++ cmake ninja-build zlib-devel python3-lit
|
||||||
|
%if %{with sys_llvm}
|
||||||
|
BuildRequires: llvm-devel = %{version}
|
||||||
|
BuildRequires: llvm-googletest = %{version}
|
||||||
|
BuildRequires: llvm-test = %{version}
|
||||||
|
BuildRequires: llvm-cmake-utils = %{version}
|
||||||
|
%else
|
||||||
|
BuildRequires: llvm%{maj_ver}-devel = %{version}
|
||||||
|
BuildRequires: llvm%{maj_ver}-googletest = %{version}
|
||||||
|
BuildRequires: llvm%{maj_ver}-test = %{version}
|
||||||
|
BuildRequires: llvm%{maj_ver}-cmake-utils = %{version}
|
||||||
|
%endif
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-numpy
|
||||||
|
BuildRequires: python3-pybind11
|
||||||
|
BuildRequires: python3-pyyaml
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure. MLIR aims to address software fragmentation, improve compilation for heterogeneous hardware, significantly reduce the cost of building domain specific compilers, and aid in connecting existing compilers together.
|
The MLIR project is a novel approach to building reusable and extensible compiler infrastructure.
|
||||||
|
MLIR aims to address software fragmentation, improve compilation for heterogeneous hardware,
|
||||||
|
significantly reduce the cost of building domain specific compilers, and aid in connecting
|
||||||
|
existing compilers together.
|
||||||
|
|
||||||
%package static
|
%package static
|
||||||
Summary: MLIR static files
|
Summary: MLIR static files
|
||||||
@ -28,23 +82,55 @@ Requires: %{name}-static = %{version}-%{release}
|
|||||||
%description devel
|
%description devel
|
||||||
MLIR development files.
|
MLIR development files.
|
||||||
|
|
||||||
|
%package -n python3-%{name}
|
||||||
|
Summary: MLIR python bindings
|
||||||
|
Requires: python3
|
||||||
|
Requires: python3-numpy
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
%{summary}
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n llvm-project-%{version}.src/mlir -p2
|
%autosetup -n %{mlir_srcdir} -p2
|
||||||
# remove all but keep mlir
|
|
||||||
find ../* -maxdepth 0 ! -name "mlir" -exec rm -rf {} +
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake -G Ninja \
|
%cmake -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-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/ \
|
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||||
|
-DCMAKE_PREFIX_PATH=%{install_libdir}/cmake/llvm/ \
|
||||||
|
-DLLVM_EXTERNAL_LIT=%{install_bindir}/lit \
|
||||||
|
-DLLVM_THIRD_PARTY_DIR=%{install_datadir}/llvm/src/utils \
|
||||||
|
-DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \
|
||||||
-DLLVM_BUILD_UTILS:BOOL=ON \
|
-DLLVM_BUILD_UTILS:BOOL=ON \
|
||||||
|
-DLLVM_LIBRARY_OUTPUT_INTDIR="." \
|
||||||
|
-DLLVM_SHLIB_OUTPUT_INTDIR="%{_builddir}/%{mlir_srcdir}/lib/ExecutionEngine/" \
|
||||||
-DMLIR_INCLUDE_DOCS:BOOL=ON \
|
-DMLIR_INCLUDE_DOCS:BOOL=ON \
|
||||||
-DMLIR_INCLUDE_TESTS:BOOL=OFF \
|
-DMLIR_INCLUDE_TESTS:BOOL=ON \
|
||||||
-DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \
|
-DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
-DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF \
|
||||||
|
-DMLIR_BUILD_MLIR_C_DYLIB=ON \
|
||||||
|
%if "%{toolchain}" == "clang"
|
||||||
|
-DCMAKE_C_COMPILER=clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=clang++ \
|
||||||
|
%endif
|
||||||
|
%if %{with bisheng_autotuner}
|
||||||
|
-DLLVM_ENABLE_AUTOTUNER=ON \
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64 %ix86 ppc64le x86_64
|
||||||
|
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||||
|
%endif
|
||||||
|
%ifarch %ix86
|
||||||
|
-DMLIR_RUN_X86VECTOR_TESTS:BOOL=OFF \
|
||||||
|
%endif
|
||||||
|
-DMLIR_ENABLE_BINDINGS_PYTHON:BOOL=ON \
|
||||||
|
%if 0%{?__isa_bits} == 64
|
||||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||||
|
%else
|
||||||
|
-DLLVM_LIBDIR_SUFFIX=
|
||||||
|
%endif
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
-DLLVM_TARGETS_TO_BUILD="X86"
|
-DLLVM_TARGETS_TO_BUILD="X86"
|
||||||
%endif
|
%endif
|
||||||
@ -52,37 +138,92 @@ find ../* -maxdepth 0 ! -name "mlir" -exec rm -rf {} +
|
|||||||
-DLLVM_TARGETS_TO_BUILD="AArch64"
|
-DLLVM_TARGETS_TO_BUILD="AArch64"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ninja_build
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%ninja_install
|
%cmake_install
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/%{python3_sitearch}
|
||||||
|
mv %{buildroot}/usr/python_packages/mlir_core/mlir %{buildroot}/%{python3_sitearch}
|
||||||
|
# These directories should be empty now.
|
||||||
|
rmdir %{buildroot}/usr/python_packages/mlir_core %{buildroot}/usr/python_packages
|
||||||
|
# Unneeded files.
|
||||||
|
rm -rf %{buildroot}/usr/src/python
|
||||||
|
|
||||||
|
%if %{with check}
|
||||||
%check
|
%check
|
||||||
|
# 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
|
||||||
|
|
||||||
|
rm -rf test/mlir-tblgen/directive-common.td
|
||||||
|
rm -rf test/mlir-tblgen/llvm-intrinsics.td
|
||||||
|
rm -rf test/tblgen-lsp-server/document-links.test
|
||||||
|
rm -rf test/tblgen-lsp-server/hover.test
|
||||||
|
|
||||||
# build process .exe tools normally use rpath or static linkage
|
# build process .exe tools normally use rpath or static linkage
|
||||||
%cmake_build --target check-mlir || true
|
export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}:%{buildroot}/%{python3_sitearch}/mlir/_mlir_libs
|
||||||
|
export PYTHONPATH=%{buildroot}/%{python3_sitearch}
|
||||||
|
%cmake_build --target check-mlir
|
||||||
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.TXT
|
%license LICENSE.TXT
|
||||||
%{_libdir}/libMLIR*.so.*
|
%{install_libdir}/libMLIR*.so.*
|
||||||
%{_libdir}/libmlir_runner_utils.so.*
|
%{install_libdir}/libmlir_runner_utils.so.*
|
||||||
%{_libdir}/libmlir_c_runner_utils.so.*
|
%{install_libdir}/libmlir_c_runner_utils.so.*
|
||||||
%{_libdir}/libmlir_async_runtime.so.*
|
%{install_libdir}/libmlir_float16_utils.so.%{maj_ver}*
|
||||||
|
%{install_libdir}/libmlir_async_runtime.so.*
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%{_libdir}/libMLIR*.a
|
%{install_libdir}/libMLIR*.a
|
||||||
%{_libdir}/libmlir_c_runner_utils_static.a
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_bindir}/mlir-tblgen
|
%{install_bindir}/mlir-tblgen
|
||||||
%{_libdir}/libMLIR*.so
|
%{install_bindir}/mlir-pdll
|
||||||
%{_libdir}/libmlir_runner_utils.so
|
%{install_libdir}/libMLIR*.so
|
||||||
%{_libdir}/libmlir_c_runner_utils.so
|
%{install_libdir}/libmlir_runner_utils.so
|
||||||
%{_libdir}//libmlir_async_runtime.so
|
%{install_libdir}/libmlir_c_runner_utils.so
|
||||||
%{_includedir}/mlir
|
%{install_libdir}/libmlir_float16_utils.so
|
||||||
%{_includedir}/mlir-c
|
%{install_libdir}/libmlir_async_runtime.so
|
||||||
%{_libdir}/cmake/mlir
|
%{install_includedir}/mlir
|
||||||
|
%{install_includedir}/mlir-c
|
||||||
|
%{install_libdir}/cmake/mlir
|
||||||
|
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%{python3_sitearch}/mlir/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 11 2024 Funda Wang <fundawang@yeah.net> - 17.0.6-4
|
||||||
|
- adopt to new cmake macro
|
||||||
|
|
||||||
|
* Tue Aug 20 2024 liyunfei <liyunfei33@huawei.com> - 17.0.6-3
|
||||||
|
- Add BiSheng Autotuner support.
|
||||||
|
|
||||||
|
* Fri Jul 5 2024 liyunfei <liyunfei33@huawei.com> - 17.0.6-2
|
||||||
|
- Add toolchain_clang build support
|
||||||
|
|
||||||
|
* Sun Jun 25 2023 zhoujing <zhoujing106@huawei.com> - 17.0.6-1
|
||||||
|
- Update to 17.0.6
|
||||||
|
|
||||||
|
* Sun Jun 25 2023 cf-zhao <zhaochuanfeng@huawei.com> - 15.0.7-1
|
||||||
|
- Update to 15.0.7
|
||||||
|
|
||||||
* Wed Nov 16 2022 liyancheng <412998149@qq.com> - 12.0.1-0
|
* Wed Nov 16 2022 liyancheng <412998149@qq.com> - 12.0.1-0
|
||||||
- Type:Init
|
- Type:Init
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
4
llvm-mlir.yaml
Normal file
4
llvm-mlir.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
version_control: github
|
||||||
|
src_repo: llvm/llvm-project
|
||||||
|
tag_prefix: ^llvmorg-
|
||||||
|
separator: .
|
||||||
Binary file not shown.
BIN
mlir-17.0.6.src.tar.xz
Normal file
BIN
mlir-17.0.6.src.tar.xz
Normal file
Binary file not shown.
BIN
mlir-17.0.6.src.tar.xz.sig
Normal file
BIN
mlir-17.0.6.src.tar.xz.sig
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user