mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 00:05:54 +03:00
llvm-core/mlir: Add 22.0.0_pre20250831 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
DIST llvm-project-1d8fdda7b0a9f47c443600bca6af2bc141e4abf7.tar.gz 246773192 BLAKE2B a61c1607586dd6f130c62a78a1f36d0e49d66d47d1244c3fe26df774131b3717cdbb2ab726428bd89d420190125dea5968d11b8094131c3214ab00e00a3ccd3b SHA512 3a1d83b6f016fa677da1eb18836b819e042d67a7a922cba83016147520eb2f44493c0cbc12015c4222804a641f410915efd0bb833a08c24efced7fc26801933b
|
||||
DIST llvm-project-21.1.0.src.tar.xz 158971856 BLAKE2B ac8c3cc8d2c986abcaa523acc872b01311ec118a738654f9cc53a1d5fdba70ba10cfe829e23f3913557e460403ed6a2df81cb5e9a435c8e1ce08e7ead3511bf0 SHA512 1487dcdc041dd6cdcffa6cc95a565e18a9fce2a73215671e366a9601cecce6c8bf70065df5564de5998d1841c3d8d829a9fbd2cad72e3aab4db279e8885ff446
|
||||
DIST llvm-project-21.1.0.src.tar.xz.sig 438 BLAKE2B c5731350bc7454867da18887628c0e87bf404589097034c7ddfffbeec277b900bd1fa49daabd41d4f8800a8ab76105bf7e910a99dd970819ab987373d4ed4ed9 SHA512 c3cd0a759e22a24f4307d8747b7986f966f4fa3c413092efc73ccca252476f1b59878dc65b444884515bcce3d3bfab902f585cc1d08e2aeb55aa8e588128aeb6
|
||||
DIST llvm-project-d76bb2bb894a4641ed62447327b40a347a6ae883.tar.gz 245754836 BLAKE2B 487e6396f1b381743dfbbd13e8f55728f1f915c042c717433e498127ecdeb4405a67e998059f5eb1f84e851437b805ba9e9c0e390c61092c7ee336a801d6f342 SHA512 42e38f917357918e8d62d8893a1ba34b431cd8aabf924b89e5352013bb8984c10c0b2796fa9a725bab71e52f99216604b75606bde3b795d20082d97d0f7a82ad
|
||||
|
||||
226
llvm-core/mlir/mlir-22.0.0_pre20250831.ebuild
Normal file
226
llvm-core/mlir/mlir-22.0.0_pre20250831.ebuild
Normal file
@@ -0,0 +1,226 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit cmake llvm.org multilib-minimal python-any-r1
|
||||
|
||||
DESCRIPTION="Multi-Level Intermediate Representation (library only)"
|
||||
HOMEPAGE="https://mlir.llvm.org/"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions"
|
||||
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
|
||||
IUSE="+debug test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
~llvm-core/llvm-${PV}[debug=,${MULTILIB_USEDEP}]
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
llvm-core/llvm:${LLVM_MAJOR}
|
||||
test? (
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)
|
||||
"
|
||||
|
||||
LLVM_COMPONENTS=( mlir cmake )
|
||||
# tablegen tests use *.td files there
|
||||
LLVM_TEST_COMPONENTS=( llvm/include )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
if use test; then
|
||||
python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
llvm.org_src_prepare
|
||||
|
||||
# https://github.com/llvm/llvm-project/issues/120902
|
||||
sed -i -e '/LINK_LIBS/s:PUBLIC:PRIVATE:' \
|
||||
lib/ExecutionEngine/CMakeLists.txt || die
|
||||
}
|
||||
|
||||
check_distribution_components() {
|
||||
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
|
||||
local all_targets=() my_targets=() l
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
while read -r l; do
|
||||
if [[ ${l} == install-*-stripped:* ]]; then
|
||||
l=${l#install-}
|
||||
l=${l%%-stripped*}
|
||||
|
||||
case ${l} in
|
||||
# meta-targets
|
||||
mlir-libraries|distribution)
|
||||
continue
|
||||
;;
|
||||
# dylib
|
||||
MLIR)
|
||||
;;
|
||||
# installed test libraries
|
||||
MLIRTestAnalysis|MLIRTestDialect|MLIRTestIR)
|
||||
;;
|
||||
# static libraries
|
||||
MLIR*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
all_targets+=( "${l}" )
|
||||
fi
|
||||
done < <(${NINJA} -t targets all)
|
||||
|
||||
while read -r l; do
|
||||
my_targets+=( "${l}" )
|
||||
done < <(get_distribution_components $"\n")
|
||||
|
||||
local add=() remove=()
|
||||
for l in "${all_targets[@]}"; do
|
||||
if ! has "${l}" "${my_targets[@]}"; then
|
||||
add+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
for l in "${my_targets[@]}"; do
|
||||
if ! has "${l}" "${all_targets[@]}"; then
|
||||
remove+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
|
||||
eqawarn "get_distribution_components() is outdated!"
|
||||
eqawarn " Add: ${add[*]}"
|
||||
eqawarn "Remove: ${remove[*]}"
|
||||
fi
|
||||
cd - >/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
get_distribution_components() {
|
||||
local sep=${1-;}
|
||||
|
||||
local out=(
|
||||
mlir-cmake-exports
|
||||
mlir-headers
|
||||
|
||||
# the dylib
|
||||
MLIR
|
||||
|
||||
# shared libraries
|
||||
mlir_arm_runner_utils
|
||||
mlir_arm_sme_abi_stubs
|
||||
mlir_async_runtime
|
||||
mlir_c_runner_utils
|
||||
mlir_float16_utils
|
||||
mlir_runner_utils
|
||||
|
||||
# test libraries required by flang
|
||||
MLIRTestAnalysis
|
||||
MLIRTestDialect
|
||||
MLIRTestIR
|
||||
)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
out+=(
|
||||
# tools
|
||||
mlir-linalg-ods-yaml-gen
|
||||
mlir-lsp-server
|
||||
mlir-opt
|
||||
mlir-pdll
|
||||
mlir-pdll-lsp-server
|
||||
mlir-query
|
||||
mlir-reduce
|
||||
mlir-rewrite
|
||||
mlir-runner
|
||||
mlir-tblgen
|
||||
mlir-translate
|
||||
tblgen-lsp-server
|
||||
tblgen-to-irdl
|
||||
)
|
||||
fi
|
||||
|
||||
printf "%s${sep}" "${out[@]}"
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
|
||||
-DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
|
||||
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
# this controls building libMLIR.so
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON
|
||||
-DMLIR_BUILD_MLIR_C_DYLIB=OFF
|
||||
-DMLIR_LINK_MLIR_DYLIB=ON
|
||||
-DMLIR_INCLUDE_TESTS=ON
|
||||
-DMLIR_INCLUDE_INTEGRATION_TESTS=OFF
|
||||
-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
|
||||
# this enables installing mlir-tblgen and mlir-pdll
|
||||
-DLLVM_BUILD_UTILS=ON
|
||||
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
|
||||
-DLLVM_BUILD_TOOLS=ON
|
||||
# TODO
|
||||
-DMLIR_ENABLE_CUDA_RUNNER=0
|
||||
-DMLIR_ENABLE_ROCM_RUNNER=0
|
||||
-DMLIR_ENABLE_SYCL_RUNNER=0
|
||||
-DMLIR_ENABLE_SPIRV_CPU_RUNNER=0
|
||||
-DMLIR_ENABLE_VULKAN_RUNNER=0
|
||||
-DMLIR_ENABLE_BINDINGS_PYTHON=0
|
||||
-DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF
|
||||
)
|
||||
use test && mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags)"
|
||||
)
|
||||
|
||||
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
|
||||
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
||||
cmake_src_configure
|
||||
|
||||
multilib_is_native_abi && check_distribution_components
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
cmake_build distribution
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local known_xfail=()
|
||||
|
||||
case ${ABI} in
|
||||
arm|ppc|x86)
|
||||
known_xfail+=(
|
||||
# MLIR is full of 64-bit assumptions, sigh
|
||||
# https://github.com/llvm/llvm-project/issues/124541
|
||||
Conversion/MemRefToLLVM/memref-to-llvm.mlir
|
||||
Dialect/Bufferization/Transforms/one-shot-bufferize-pass-statistics.mlir
|
||||
Dialect/LLVMIR/sroa-statistics.mlir
|
||||
Dialect/Linalg/vectorize-tensor-extract.mlir
|
||||
Dialect/MemRef/mem2reg-statistics.mlir
|
||||
Dialect/Tensor/fold-tensor-subset-ops.mlir
|
||||
Dialect/Tensor/tracking-listener.mlir
|
||||
Pass/pipeline-stats-nested.mlir
|
||||
Pass/pipeline-stats.mlir
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
# respect TMPDIR!
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
local -x LIT_XFAIL="${known_xfail[*]}"
|
||||
LIT_XFAIL=${LIT_XFAIL// /;}
|
||||
cmake_build check-mlir
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR=${D} cmake_build install-distribution
|
||||
}
|
||||
Reference in New Issue
Block a user