summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer
diff options
context:
space:
mode:
authorTeoh Suh Haw <suh.haw.teoh@intel.com>2023-06-08 16:00:25 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2023-06-09 13:25:43 +0800
commit3c367f25f6a0c043733b752e084a9c419416b5ad (patch)
tree00e968a12f8c8c2b9f2fe14ef8e75b9f5d8d872a /dynamic-layers/clang-layer
parentdbc3ac3084a4259e0f02c8849228bd7fe2fcf9ae (diff)
downloadmeta-intel-3c367f25f6a0c043733b752e084a9c419416b5ad.tar.gz
ispc: upgrade 1.19.0 -> 1.20.0
* Release Notes: https://github.com/ispc/ispc/releases/tag/v1.20.0 * Drop already merged patches: 0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch 0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch * Fix packaging to ensure libispcrt is packaged correctly. * ISPC runtime with CPU support can either be enabled with OpenMP or TBB. TBB is enabled by default that needs meta-oe to be included. Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers/clang-layer')
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch56
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch37
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch28
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch37
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch64
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch32
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest2
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.19.0.bb65
8 files changed, 0 insertions, 321 deletions
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
deleted file mode 100644
index 3ce431d4..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From 6ba81efe971fb6038af6e950e853d35ee6dd9cc3 Mon Sep 17 00:00:00 2001
2From: Yogesh Tyagi <yogesh.tyagi@intel.com>
3Date: Sun, 11 Dec 2022 22:34:15 +0800
4Subject: [PATCH] Add print function to print test run status in ptest format
5
6Upstream-Status: Inappropriate [OE ptest specific]
7
8Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
9---
10 run_tests.py | 16 ++++++++++++++++
11 1 file changed, 16 insertions(+)
12
13diff --git a/run_tests.py b/run_tests.py
14index 87305a06..4f2f0f59 100755
15--- a/run_tests.py
16+++ b/run_tests.py
17@@ -385,6 +385,9 @@ def run_test(testname, host, target):
18 else:
19 ispc_exe_rel = add_prefix(host.ispc_cmd, host, target)
20
21+ # to reslove the error '.rodata' can not be used when making a PIE object
22+ ispc_exe_rel = ispc_exe_rel + " --pic"
23+
24 # is this a test to make sure an error is issued?
25 want_error = (filename.find("tests_errors") != -1)
26 if want_error == True:
27@@ -844,6 +847,17 @@ def check_compiler_exists(compiler_exe):
28 return
29 error("missing the required compiler: %s \n" % compiler_exe, 1)
30
31+def print_test_run_status(results):
32+ for fstatus in results:
33+ if (fstatus[1] == Status.Success):
34+ print( "%s: %s" % ("PASS", fstatus[0]))
35+ elif (fstatus[1] == Status.Compfail):
36+ print( "%s: %s" % ("FAIL", fstatus[0]))
37+ elif (fstatus[1] == Status.Runfail):
38+ print( "%s: %s" % ("FAIL", fstatus[0]))
39+ elif (fstatus[1] == Status.Skip):
40+ print( "%s: %s" % ("SKIP", fstatus[0]))
41+
42 def print_result(status, results, s, run_tests_log, csv):
43 title = StatusStr[status]
44 file_list = [fname for fname, fstatus in results if status == fstatus]
45@@ -987,6 +1001,8 @@ def run_tests(options1, args, print_version):
46 pass_rate = -1
47 print_debug("PASSRATE (%d/%d) = %d%% \n\n" % (len(run_succeed_files), total_tests_executed, pass_rate), s, run_tests_log)
48
49+ print_test_run_status(results)
50+
51 for status in Status:
52 print_result(status, results, s, run_tests_log, options.csv)
53 fails = [status != Status.Compfail and status != Status.Runfail for _, status in results]
54--
552.37.3
56
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch
deleted file mode 100644
index 79e8e683..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 51d248d3b470f3fa1cf2ed3f5742851091acb65f Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Fri, 12 May 2023 09:10:11 +0800
4Subject: [PATCH] CMakeLists.txt: allow to pick llvm-config from
5 usr/bin/crossscripts/
6
7ispc needs to invoke native llvm-config from target sysroot to list LLVM
8lib libraries. clang already provides crossscripts/llvm-config, which does
9the job.
10
11However, using LLVM_TOOLS_BINARY_DIR leads to wrong llvm-config being
12used. So remove it from search path for llvm-config.
13
14Upstream-Status: Inappropriate
15
16Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
17---
18 cmake/FindLLVM.cmake | 3 +--
19 1 file changed, 1 insertion(+), 2 deletions(-)
20
21diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
22index d0297d5d..90d9fed2 100644
23--- a/cmake/FindLLVM.cmake
24+++ b/cmake/FindLLVM.cmake
25@@ -41,8 +41,7 @@ find_package(LLVM REQUIRED CONFIG)
26 set(LLVM_VERSION "LLVM_${LLVM_VERSION_MAJOR}_${LLVM_VERSION_MINOR}")
27 message(STATUS "Found LLVM ${LLVM_VERSION}")
28
29-find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config
30- PATHS ${LLVM_TOOLS_BINARY_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH)
31+find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config)
32 if (NOT LLVM_CONFIG_EXECUTABLE)
33 message(FATAL_ERROR "Failed to find llvm-config")
34 endif()
35--
362.37.3
37
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch
deleted file mode 100644
index cacbbbc1..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 0445d97c8ad66c9cbb2c6f88c52aadc0b01a1f15 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Tue, 11 Oct 2022 16:43:22 +0800
4Subject: [PATCH] CMakeLists.txt: link with libclang-cpp library instead
5
6Upstream-Status: Inappropriate
7
8Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
9---
10 CMakeLists.txt | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/CMakeLists.txt b/CMakeLists.txt
14index f6199704..f979f1c1 100644
15--- a/CMakeLists.txt
16+++ b/CMakeLists.txt
17@@ -288,7 +288,7 @@ if (WASM_ENABLED)
18 list(APPEND ISPC_TARGETS wasm-i32x4)
19 endif()
20
21-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
22+set(CLANG_LIBRARY_LIST clang-cpp)
23 if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "15.0.0")
24 list(APPEND CLANG_LIBRARY_LIST clangSupport)
25 endif()
26--
272.37.3
28
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch
deleted file mode 100644
index e7bb599e..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 139b94a7fb72114c31a2a6ab3f7e6024b4a738ec Mon Sep 17 00:00:00 2001
2From: Yogesh Tyagi <yogesh.tyagi@intel.com>
3Date: Tue, 26 Jul 2022 15:25:10 +0800
4Subject: [PATCH] Fix QA Issues
5
6Stop ispc from inserting host file path in generated headers which leads to reproducibility problems.
7
8Upstream-Status: Inappropriate [OE build specific]
9
10Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
11
12---
13 src/module.cpp | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/src/module.cpp b/src/module.cpp
17index 58a2ae83..82673052 100644
18--- a/src/module.cpp
19+++ b/src/module.cpp
20@@ -2105,7 +2105,7 @@ bool Module::writeHeader(const char *fn) {
21 perror("fopen");
22 return false;
23 }
24- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", fn);
25+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
26 fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
27
28 // Create a nice guard string from the filename, turning any
29@@ -2219,7 +2219,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
30 FILE *f = DHI->file;
31
32 if (DHI->EmitFrontMatter) {
33- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", DHI->fn);
34+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
35 fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
36 }
37 // Create a nice guard string from the filename, turning any
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch
deleted file mode 100644
index a13ade9f..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1From 493e886d6dae2ed7bdc12ed03f717ee0e98dfe09 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Thu, 24 Feb 2022 20:01:11 +0530
4Subject: [PATCH] cmake: don't build for 32-bit targets
5
6Error log:
7| tmp/work/corei7-64-poky-linux/ispc/1.16.0-r0/recipe-sysroot/usr/include/bits/long-double.h:23:10: fatal error: 'bits/long-double-32.h' file not found
8| #include <bits/long-double-32.h>
9| ^~~~~~~~~~~~~~~~~~~~~~~
10| 1 error generated.
11
12Remove SYSTEM include search path and set -isysroot dir path
13for root dir for cross compilation.
14
15Upstream-Status: Inappropriate
16
17Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
18---
19 cmake/GenerateBuiltins.cmake | 8 ++++----
20 1 file changed, 4 insertions(+), 4 deletions(-)
21
22diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake
23index fa228247..7adc7e52 100644
24--- a/cmake/GenerateBuiltins.cmake
25+++ b/cmake/GenerateBuiltins.cmake
26@@ -272,7 +272,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
27 # In this case headers will be installed in /usr/arm-linux-gnueabihf/include and will not be picked up
28 # by clang by default. So the following line adds such path explicitly. If this path doesn't exist and
29 # the headers can be found in other locations, this should not be a problem.
30- set(includePath -isystem/usr/${debian_triple}/include)
31+ set(includePath -isysroot${SYSROOT_DIR})
32 endif()
33 endif()
34
35@@ -354,7 +354,7 @@ function (generate_target_builtins resultList)
36 set(regular_targets ${ARGN})
37 list(FILTER regular_targets EXCLUDE REGEX wasm)
38 foreach (ispc_target ${regular_targets})
39- foreach (bit 32 64)
40+ foreach (bit 64)
41 foreach (os_name ${TARGET_OS_LIST_FOR_LL})
42 target_ll_to_cpp(target-${ispc_target} ${bit} ${os_name} output${os_name}${bit})
43 list(APPEND tmpList ${output${os_name}${bit}})
44@@ -415,7 +415,7 @@ function (generate_common_builtins resultList)
45 endif()
46
47 message (STATUS "ISPC will be built with support of ${supported_oses} for ${supported_archs}")
48- foreach (bit 32 64)
49+ foreach (bit 64)
50 foreach (os_name "windows" "linux" "freebsd" "macos" "android" "ios" "ps4" "web")
51 foreach (arch "x86" "arm" "wasm32")
52 builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch})
53@@ -428,7 +428,7 @@ function (generate_common_builtins resultList)
54 endforeach()
55 endforeach()
56 if (XE_ENABLED)
57- foreach (bit 32 64)
58+ foreach (bit 64)
59 builtin_xe_to_cpp(${bit} res_xe_${bit})
60 list(APPEND tmpList ${res_xe_${bit}} )
61 if(MSVC)
62--
632.17.1
64
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch
deleted file mode 100644
index 52fb8126..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9 Mon Sep 17 00:00:00 2001
2From: Luya Tshimbalanga <luya@fedoraproject.org>
3Date: Tue, 28 Feb 2023 17:20:21 -0800
4Subject: [PATCH] Fix build with GCC 13 and possibly Clang 15
5
6This fix add missing <cstdint> include to handle "uint32_t".
7
8Upstream-Status: Backport
9Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
10---
11 src/target_registry.h | 3 ++-
12 1 file changed, 2 insertions(+), 1 deletion(-)
13
14diff --git a/src/target_registry.h b/src/target_registry.h
15index 2f7d13a8af..bad4ed0815 100644
16--- a/src/target_registry.h
17+++ b/src/target_registry.h
18@@ -1,5 +1,5 @@
19 /*
20- Copyright (c) 2019-2021, Intel Corporation
21+ Copyright (c) 2019-2023, Intel Corporation
22 All rights reserved.
23
24 Redistribution and use in source and binary forms, with or without
25@@ -40,6 +40,7 @@
26 #include "bitcode_lib.h"
27
28 #include <bitset>
29+#include <cstdint>
30 #include <map>
31 #include <vector>
32
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest
deleted file mode 100644
index 77d13bb4..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2python3 run_tests.py
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.19.0.bb b/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.19.0.bb
deleted file mode 100644
index ab48f5fb..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.19.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
1SUMMARY = "Intel(R) Implicit SPMD Program Compiler"
2DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \
3with extensions for single program, multiple data programming."
4HOMEPAGE = "https://github.com/ispc/ispc"
5
6LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
8 file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"
9
10inherit cmake python3native ptest
11
12S = "${WORKDIR}/git"
13
14SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
15 file://0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch \
16 file://0002-cmake-don-t-build-for-32-bit-targets.patch \
17 file://0001-Fix-QA-Issues.patch \
18 file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \
19 file://0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch \
20 file://ffc75e464ff2b8fce7dbf74f1846ebd0852bc6f9.patch \
21 file://run-ptest \
22 "
23
24SRCREV = "ee43967286215a0511c2bc090e604848b4a32bed"
25
26COMPATIBLE_HOST = '(x86_64).*-linux'
27
28DEPENDS += " clang-native bison-native flex-native"
29DEPENDS:append:class-target = " clang"
30RDEPENDS:${PN}-ptest += " python3-multiprocessing"
31
32YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
33
34do_configure:prepend() {
35 sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt
36 sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt
37}
38
39do_install_ptest() {
40 cp -rf ${S}/run_tests.py ${D}${PTEST_PATH}
41 cp -rf ${S}/common.py ${D}${PTEST_PATH}
42 cp -rf ${S}/tests ${D}${PTEST_PATH}
43 cp -rf ${S}/test_static.isph ${D}${PTEST_PATH}
44 cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH}
45 cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH}
46}
47
48EXTRA_OECMAKE += " \
49 -DISPC_INCLUDE_TESTS=OFF \
50 -DISPC_INCLUDE_EXAMPLES=OFF \
51 -DISPC_NO_DUMPS=ON \
52 -DARM_ENABLED=OFF \
53 -DISPC_CROSS=ON \
54 -DISPC_ANDROID_TARGET=OFF \
55 -DISPC_FREEBSD_TARGET=OFF \
56 -DISPC_WINDOWS_TARGET=OFF \
57 -DISPC_IOS_TARGET=OFF \
58 -DISPC_PS4_TARGET=OFF \
59 -DSYSROOT_DIR=${STAGING_DIR} \
60 -DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \
61 -DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \
62 -DLLVM_DIS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-dis \
63 -DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \
64 "
65BBCLASSEXTEND = "native nativesdk"