aboutsummaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-opencl
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2019-07-31 18:29:53 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2019-07-31 21:03:31 +0800
commit03f21762497caa871c949c4eff9f6c980fec3342 (patch)
treed8328473ff3ffda6e53bc6ea9554b0631e198b83 /dynamic-layers/clang-layer/recipes-opencl
parente3d7b3aba6f65d7c4423fb77c34998cfd7e6ec3b (diff)
downloadmeta-intel-03f21762497caa871c949c4eff9f6c980fec3342.tar.gz
meta-intel-03f21762497caa871c949c4eff9f6c980fec3342.tar.bz2
meta-intel-03f21762497caa871c949c4eff9f6c980fec3342.zip
intel-graphics-compiler: build only when clang layer is included
igc needs components from LLVM and clang to be built. Move it to dynamic-layers/clang-layer so world builds don't fail when clang layer is not available. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers/clang-layer/recipes-opencl')
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch76
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch39
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb27
3 files changed, 142 insertions, 0 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch
new file mode 100644
index 00000000..70447176
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch
@@ -0,0 +1,76 @@
+From c3e985e0e82e9b4c2cc8d4dbfd8ff7890daa50e0 Mon Sep 17 00:00:00 2001
+From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com>
+Date: Thu, 6 Jun 2019 21:00:00 -0700
+Subject: [PATCH] Fix for the gcc-9 issue.
+
+Fixes #91
+
+Change-Id: I8149771d6add9645126cb94584f46485c256a488
+
+Upstream-Status: Backport
+[https://github.com/intel/intel-graphics-compiler/commit/b95b2220ddd1d50b718cae6829d832a14ff60790]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ IGC/AdaptorOCL/cif/cif/common/cif.h | 8 ++++++++
+ IGC/common/LLVMWarningsPop.hpp | 4 ++++
+ IGC/common/LLVMWarningsPush.hpp | 10 ++++++++++
+ 3 files changed, 22 insertions(+)
+
+diff --git a/IGC/AdaptorOCL/cif/cif/common/cif.h b/IGC/AdaptorOCL/cif/cif/common/cif.h
+index 99d67d5a..00352964 100644
+--- a/IGC/AdaptorOCL/cif/cif/common/cif.h
++++ b/IGC/AdaptorOCL/cif/cif/common/cif.h
+@@ -310,6 +310,14 @@ struct InterfacesList {
+ requestedInterfaceId, std::forward<DefaultValueT>(defaultValue), std::forward<Args>(args)...);
+ }
+
++ /// Calls Callable::Call with all contained interfaces (sequentially, one at a time) as template parameters.
++ /// Arguments will be forwarded as regular function parameters to Callable::Call.
++ template <typename Callable, typename RetType, typename DefaultValueT>
++ static RetType forwardToOne(InterfaceId_t requestedInterfaceId, DefaultValueT &&defaultValue) {
++ return forwardToOneImpl<0, RetType, Callable, DefaultValueT, InterfacePack<SupportedInterfaces...>>(
++ requestedInterfaceId, std::forward<DefaultValueT>(defaultValue));
++ }
++
+ /// Calls Callable::Call with all contained interfaces (sequentially, one at a time) as template parameters.
+ /// Arguments will be forwarded as regular function parameters to Callable::Call.
+ template <typename Callable, typename... Args>
+diff --git a/IGC/common/LLVMWarningsPop.hpp b/IGC/common/LLVMWarningsPop.hpp
+index 9875acb8..f8e405d2 100644
+--- a/IGC/common/LLVMWarningsPop.hpp
++++ b/IGC/common/LLVMWarningsPop.hpp
+@@ -57,3 +57,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #ifdef _MSC_VER
+ # pragma warning( pop )
+ #endif
++
++#if defined(__linux__)
++# pragma GCC diagnostic pop
++#endif
+diff --git a/IGC/common/LLVMWarningsPush.hpp b/IGC/common/LLVMWarningsPush.hpp
+index bab4a5e1..aca8db34 100644
+--- a/IGC/common/LLVMWarningsPush.hpp
++++ b/IGC/common/LLVMWarningsPush.hpp
+@@ -55,8 +55,18 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ # pragma warning( push )
+ #endif
+
++#if defined(__linux__)
++# pragma GCC diagnostic push
++#endif
++
+ #include <llvm/Config/llvm-config.h>
+
++#if defined(__linux__)
++# if __GNUC__ > 8
++# pragma GCC diagnostic ignored "-Winit-list-lifetime"
++# endif
++#endif
++
+ #if defined( _WIN32 ) || defined( _WIN64 )
+
+ // 'inline' : used more than once
+--
+2.17.0
+
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch
new file mode 100644
index 00000000..1e0c3444
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch
@@ -0,0 +1,39 @@
+From 78270818abd269bc8a1cf5deb69f15e3849333fe Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 12 Jun 2019 14:10:23 +0800
+Subject: [PATCH] skip execution of ElfPackager
+
+ElfPackager adds the ability to convert llvm bitcode into elf files for
+easier partitioning. Skip for now until we start building a native
+version for this.
+
+Upstream-Status: Inappropriate [configuration specific]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ IGC/ElfPackager/CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt
+index 6bf4aa01..d8cd4e8b 100644
+--- a/IGC/ElfPackager/CMakeLists.txt
++++ b/IGC/ElfPackager/CMakeLists.txt
+@@ -69,10 +69,10 @@ include_directories (
+ ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/
+ )
+
+-add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager}
+- POST_BUILD
+- COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin
+- )
++#add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager}
++# POST_BUILD
++# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin
++# )
+
+
+ add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}")
+--
+2.17.0
+
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb
new file mode 100644
index 00000000..f64b97fd
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
+DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
+llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
+hardware architecture."
+
+LICENSE = "MIT & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
+ file://IGC/Compiler/LegalizationPass.cpp;md5=4e9a7f0d710a0546cbf5581e1565a986"
+
+SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \
+ file://0001-skip-execution-of-ElfPackager.patch \
+ file://0001-Fix-for-the-gcc-9-issue.patch \
+ "
+
+SRCREV = "ebfc688126900a821e407a96417800919b793447"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+COMPATIBLE_HOST = '(x86_64).*-linux'
+COMPATIBLE_HOST_libc-musl = "null"
+
+DEPENDS_class-target = " flex-native bison-native clang clang-cross-x86_64"
+
+EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=8.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2"
+EXTRA_OECMAKE += "-DCOMMON_CLANG_LIBRARY_NAME=common_clang"