aboutsummaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-opencl
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2019-08-15 08:21:03 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2019-08-21 12:27:06 +0800
commitfca3176ec1eeea018db1d96e057ce477faa05319 (patch)
tree259b5675963d746cec087857fbcd8a08762f4b33 /dynamic-layers/clang-layer/recipes-opencl
parent9804b5a0e974a33cd65dab2f33f8c66c8f67064a (diff)
downloadmeta-intel-fca3176ec1eeea018db1d96e057ce477faa05319.tar.gz
meta-intel-fca3176ec1eeea018db1d96e057ce477faa05319.tar.bz2
meta-intel-fca3176ec1eeea018db1d96e057ce477faa05319.zip
igc: build for native too
* Use clang and lld for native builds to remain in sync with clang layer. * fix the license field to point to correct block of license in source file. * Include patches to ignore warnings being marked as errors when building with clang and to fix an issue with inclusion of debug functions when NDEBUG is defined. 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-comment-out-dump-functions.patch86
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch34
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb13
3 files changed, 130 insertions, 3 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch
new file mode 100644
index 00000000..c9128a0a
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch
@@ -0,0 +1,86 @@
+From f56b781c244347158467a01aef65d2787afd1366 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Sat, 17 Aug 2019 21:25:06 +0800
+Subject: [PATCH] comment out dump functions
+
+Otherwise it leads to errors when linking with lld:
+
+| ld.lld: error: undefined symbol: llvm::Value::dump() const
+| >>> referenced by PreRAScheduler.cpp:252 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:252)
+| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpDDGContents()) in archive IGC/Release/libCompiler.a
+|
+| ld.lld: error: undefined symbol: llvm::Value::dump() const
+| >>> referenced by PreRAScheduler.cpp:855 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:855)
+| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
+|
+| ld.lld: error: undefined symbol: llvm::Value::dump() const
+| >>> referenced by PreRAScheduler.cpp:876 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:876)
+| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
+|
+| ld.lld: error: undefined symbol: llvm::Value::dump() const
+| >>> referenced by PreRAScheduler.cpp:888 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:888)
+| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
+|
+| ld.lld: error: undefined symbol: llvm::Value::dump() const
+| >>> referenced by PreRAScheduler.cpp:902 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:902)
+| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
+| clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
+| ninja: build stopped: subcommand failed.
+
+Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ IGC/Compiler/CISACodeGen/PreRAScheduler.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
+index 587e491..4effa80 100644
+--- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
++++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
+@@ -178,8 +178,10 @@ namespace IGC{
+ AU.addRequired<RegisterEstimator>();
+ }
+
++#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ void dumpDDGContents();
+ void dumpPriorityQueueContents();
++#endif
+
+ void clearDDG();
+
+@@ -228,6 +230,7 @@ IGC_INITIALIZE_PASS_DEPENDENCY(RegisterEstimator)
+ IGC_INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
+ IGC_INITIALIZE_PASS_END(PreRAScheduler, PASS_FLAG, PASS_DESC, PASS_CFG_ONLY, PASS_ANALYSIS)
+
++#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ void PreRAScheduler::dumpDDGContents()
+ {
+ IGC_SET_FLAG_VALUE(PrintToConsole, 1);
+@@ -259,6 +262,7 @@ void PreRAScheduler::dumpDDGContents()
+
+ IGC_SET_FLAG_VALUE(PrintToConsole, 0);
+ }
++#endif
+
+ void PreRAScheduler::clearDDG()
+ {
+@@ -841,6 +845,7 @@ bool PreRAScheduler::ScheduleReadyNodes(
+ return Changed;
+ }
+
++#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ void PreRAScheduler::dumpPriorityQueueContents()
+ {
+ llvm::PriorityQueue<Node*, std::vector<Node*>, PreRAScheduler::OrderByLatency> longLatencyQueueCopy = longLatencyDelaySortedReadyQueue;
+@@ -912,6 +917,7 @@ void PreRAScheduler::dumpPriorityQueueContents()
+
+ IGC_SET_FLAG_VALUE(PrintToConsole, 0);
+ }
++#endif
+
+ bool PreRAScheduler::runOnFunction(Function &F) {
+ CodeGenContext *ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext();
+--
+2.7.4
+
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch
new file mode 100644
index 00000000..cbb0197e
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch
@@ -0,0 +1,34 @@
+From 68d99547e620f097b5fca7315d52d411ffc75984 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Fri, 16 Aug 2019 15:49:39 +0800
+Subject: [PATCH] suppress warnings being marked as errors
+
+Otherwise when building with clang-8:
+
+| clang-8: error: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Werror,-Wdeprecated]
+
+Also see:
+https://github.com/intel/intel-graphics-compiler/issues/106
+
+Upstream-Status: Inappropriate
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ IGC/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/IGC/CMakeLists.txt b/IGC/CMakeLists.txt
+index 7ff05f3..5deac46 100644
+--- a/IGC/CMakeLists.txt
++++ b/IGC/CMakeLists.txt
+@@ -2763,7 +2763,7 @@ foreach(_compilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS")
+ -march=corei7
+ -mstackrealign
+ -fms-extensions
+- -Werror
++ -Wno-error
+ -Wno-unused-parameter
+ -Wno-missing-field-initializers
+ -Wwrite-strings
+--
+2.7.4
+
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
index 655df69c..036ab741 100644
--- 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
@@ -5,11 +5,13 @@ 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"
+ file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb"
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \
file://0001-skip-execution-of-ElfPackager.patch \
+ file://0001-suppress-warnings-being-marked-as-errors.patch \
file://0001-Fix-for-the-gcc-9-issue.patch \
+ file://0001-comment-out-dump-functions.patch \
"
SRCREV = "ebfc688126900a821e407a96417800919b793447"
@@ -21,9 +23,14 @@ inherit cmake
COMPATIBLE_HOST = '(x86_64).*-linux'
COMPATIBLE_HOST_libc-musl = "null"
-DEPENDS_class-target = " flex-native bison-native clang clang-cross-x86_64"
+DEPENDS += " flex-native bison-native clang opencl-clang"
+DEPENDS_append_class-target = " 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"
+
+LDFLAGS_append_class-native = " -fuse-ld=lld"
+TOOLCHAIN_class-native = "clang"
+
+BBCLASSEXTEND = "native nativesdk"
UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"