From b9b473a2591b1a0d344bbeb7422ac6de1283db31 Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Thu, 12 Sep 2019 22:21:45 +0800 Subject: intel-graphics-compiler: upgrade 1.0.6 -> 1.0.11 Removed patches which are not required anymore. Updated python version to 3. In this release, fixed issue/improvements can be found here: https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.11 Signed-off-by: Naveen Saini Signed-off-by: Anuj Mittal --- .../igc/files/0001-Fix-for-the-gcc-9-issue.patch | 76 ---- .../files/0001-comment-out-dump-functions.patch | 86 ----- .../files/0001-skip-execution-of-ElfPackager.patch | 10 +- ...-suppress-warnings-being-marked-as-errors.patch | 34 -- .../files/0002-comment-out-dump-functions.patch | 87 +++++ ...or-buildbreak-when-using-clang-9-compiler.patch | 405 +++++++++++++++++++++ .../igc/intel-graphics-compiler_1.0.11.bb | 37 ++ .../igc/intel-graphics-compiler_1.0.6.bb | 38 -- 8 files changed, 534 insertions(+), 239 deletions(-) delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb delete mode 100644 dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb (limited to 'dynamic-layers') 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 deleted file mode 100644 index 70447176..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Fix-for-the-gcc-9-issue.patch +++ /dev/null @@ -1,76 +0,0 @@ -From c3e985e0e82e9b4c2cc8d4dbfd8ff7890daa50e0 Mon Sep 17 00:00:00 2001 -From: "Wesierski, Lukasz" -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 ---- - 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(defaultValue), std::forward(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 -+ static RetType forwardToOne(InterfaceId_t requestedInterfaceId, DefaultValueT &&defaultValue) { -+ return forwardToOneImpl<0, RetType, Callable, DefaultValueT, InterfacePack>( -+ requestedInterfaceId, std::forward(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 -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 - -+#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-comment-out-dump-functions.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch deleted file mode 100644 index c9128a0a..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch +++ /dev/null @@ -1,86 +0,0 @@ -From f56b781c244347158467a01aef65d2787afd1366 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -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 ---- - 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(); - } - -+#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, 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().getCodeGenContext(); --- -2.7.4 - 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 index 1e0c3444..3f3e1d49 100644 --- 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 @@ -1,7 +1,7 @@ -From 78270818abd269bc8a1cf5deb69f15e3849333fe Mon Sep 17 00:00:00 2001 +From 4e903a6914d5124d616cf085e30e8cbaa20afb77 Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Wed, 12 Jun 2019 14:10:23 +0800 -Subject: [PATCH] skip execution of ElfPackager +Subject: [PATCH 1/4] 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 @@ -16,10 +16,10 @@ Signed-off-by: Naveen Saini 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt -index 6bf4aa01..d8cd4e8b 100644 +index d9487aeb..bc728ada 100644 --- a/IGC/ElfPackager/CMakeLists.txt +++ b/IGC/ElfPackager/CMakeLists.txt -@@ -69,10 +69,10 @@ include_directories ( +@@ -71,10 +71,10 @@ include_directories ( ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ ) @@ -35,5 +35,5 @@ index 6bf4aa01..d8cd4e8b 100644 add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") -- -2.17.0 +2.17.1 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 deleted file mode 100644 index cbb0197e..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-suppress-warnings-being-marked-as-errors.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 68d99547e620f097b5fca7315d52d411ffc75984 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -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 ---- - 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/files/0002-comment-out-dump-functions.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch new file mode 100644 index 00000000..517dc36f --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch @@ -0,0 +1,87 @@ +From 15a23e549636626cf32b062a5308a29cc53ce360 Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Wed, 21 Aug 2019 17:29:00 +0800 +Subject: [PATCH 2/4] 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 +Signed-off-by: Naveen Saini +--- + 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 62e89c0c..ba01af01 100644 +--- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp ++++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp +@@ -178,8 +178,10 @@ namespace IGC { + AU.addRequired(); + } + ++#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, 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().getCodeGenContext(); +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch new file mode 100644 index 00000000..4af8c17e --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch @@ -0,0 +1,405 @@ +From 598038626dd2c10b96308347718f26cfa3dc509c Mon Sep 17 00:00:00 2001 +From: "Wesierski, Lukasz" +Date: Mon, 9 Sep 2019 09:11:20 -0700 +Subject: [PATCH 4/4] Fix for buildbreak when using clang-9 compiler + +Fixes #106 +Fxies #111 + +Change-Id: I291bf03c31b1786a00b8bc2c6d23c5adb8b72e73 + +Upstream-Status: Backport [https://github.com/intel/intel-graphics-compiler/commit/a332238b46e9fa9e06265d18eb877d095015e6fb] + +Signed-off-by: Naveen Saini +--- + IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h | 4 + + .../SPIRV/libSPIRV/SPIRVInstruction.h | 18 +-- + IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp | 136 +++++++++--------- + IGC/AdaptorOCL/cif/cif/export/registry.h | 3 +- + IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 +- + visa/CISA.l | 2 +- + visa/CMakeLists.txt | 6 +- + 7 files changed, 89 insertions(+), 84 deletions(-) + +diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h +index 7a2ba855..307ba3f3 100644 +--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h ++++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h +@@ -129,8 +129,12 @@ class SPIRVExtInst; + void decode(std::istream &I) { getDecoder(I) >> x >> y;} + #define _SPIRV_DEF_DEC3(x,y,z) \ + void decode(std::istream &I) { getDecoder(I) >> x >> y >> z;} ++#define _SPIRV_DEF_DEC3_OVERRIDE(x,y,z) \ ++ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z;} + #define _SPIRV_DEF_DEC4(x,y,z,u) \ + void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u;} ++#define _SPIRV_DEF_DEC4_OVERRIDE(x,y,z,u) \ ++ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z >> u;} + #define _SPIRV_DEF_DEC5(x,y,z,u,v) \ + void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u >> v;} + #define _SPIRV_DEF_DEC6(x,y,z,u,v,w) \ +diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h +index 9f4e9d1f..bb85fd04 100644 +--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h ++++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h +@@ -727,10 +727,10 @@ public: + return getValue(ConditionId); + } + SPIRVLabel *getTrueLabel() const { +- return get(TrueLabelId); ++ return SPIRVEntry::get(TrueLabelId); + } + SPIRVLabel *getFalseLabel() const { +- return get(FalseLabelId); ++ return SPIRVEntry::get(FalseLabelId); + } + protected: + void setWordCount(SPIRVWord TheWordCount) { +@@ -940,7 +940,7 @@ public: + SPIRVEntry::setWordCount(TheWordCount); + LoopControlParameters.resize(TheWordCount - FixedWordCount); + } +- _SPIRV_DEF_DEC4(MergeBlock, ContinueTarget, LoopControl, ++ _SPIRV_DEF_DEC4_OVERRIDE(MergeBlock, ContinueTarget, LoopControl, + LoopControlParameters) + + protected: +@@ -1120,7 +1120,7 @@ public: + + SPIRVFunctionCallGeneric(SPIRVModule *BM, SPIRVWord ResId, SPIRVType *TheType, + const std::vector &TheArgs) +- : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, ++ : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, NULL, + BM), + Args(TheArgs) {} + SPIRVFunctionCallGeneric():SPIRVInstruction(OC) {} +@@ -1152,7 +1152,7 @@ class SPIRVFunctionCall: + public: + SPIRVFunctionCall():FunctionId(SPIRVID_INVALID) {} + SPIRVFunction *getFunction()const { +- return get(FunctionId); ++ return SPIRVEntry::get(FunctionId); + } + _SPIRV_DEF_DEC4(Type, Id, FunctionId, Args) + void validate()const; +@@ -1169,8 +1169,8 @@ public: + const std::vector& TheArgs, + SPIRVBasicBlock* BB); + SPIRVFunctionPointerCallINTEL() : CalledValueId(SPIRVID_INVALID) {} +- SPIRVValue* getCalledValue() const { return get(CalledValueId); } +- _SPIRV_DEF_DEC4(Type, Id, CalledValueId, Args) ++ SPIRVValue* getCalledValue() const { return SPIRVEntry::get(CalledValueId); } ++ _SPIRV_DEF_DEC4_OVERRIDE(Type, Id, CalledValueId, Args) + void validate() const override; + bool isOperandLiteral(unsigned Index) const { return false; } + CapVec getRequiredCapability() const override { +@@ -1188,8 +1188,8 @@ public: + SPIRVFunctionPointerINTEL(SPIRVId TheId, SPIRVType* TheType, + SPIRVFunction* TheFunction, SPIRVBasicBlock* BB); + SPIRVFunctionPointerINTEL() : SPIRVInstruction(OC), TheFunction(SPIRVID_INVALID) {} +- SPIRVFunction* getFunction() const { return get(TheFunction); } +- _SPIRV_DEF_DEC3(Type, Id, TheFunction) ++ SPIRVFunction* getFunction() const { return SPIRVEntry::get(TheFunction); } ++ _SPIRV_DEF_DEC3_OVERRIDE(Type, Id, TheFunction) + void validate() const override; + bool isOperandLiteral(unsigned Index) const { return false; } + CapVec getRequiredCapability() const override { +diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp +index 353341b5..74ab6e93 100644 +--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp ++++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp +@@ -94,126 +94,126 @@ public: + virtual ~SPIRVModuleImpl(); + + // Object query functions +- bool exist(SPIRVId) const; +- bool exist(SPIRVId, SPIRVEntry **) const; ++ bool exist(SPIRVId) const override; ++ bool exist(SPIRVId, SPIRVEntry **) const override; + SPIRVId getId(SPIRVId Id = SPIRVID_INVALID, unsigned Increment = 1); +- virtual SPIRVEntry *getEntry(SPIRVId Id) const; ++ virtual SPIRVEntry *getEntry(SPIRVId Id) const override; + virtual void addUnknownStructField( +- SPIRVTypeStruct*, unsigned idx, SPIRVId id); +- virtual void resolveUnknownStructFields(); +- bool hasDebugInfo() const ++ SPIRVTypeStruct*, unsigned idx, SPIRVId id) override; ++ virtual void resolveUnknownStructFields() override; ++ bool hasDebugInfo() const override + { + return getCompilationUnit() != nullptr; + } + + // Error handling functions +- SPIRVErrorLog &getErrorLog() { return ErrLog;} +- SPIRVErrorCode getError(std::string &ErrMsg) { return ErrLog.getError(ErrMsg);} ++ SPIRVErrorLog &getErrorLog() override { return ErrLog;} ++ SPIRVErrorCode getError(std::string &ErrMsg) override { return ErrLog.getError(ErrMsg);} + + // Module query functions +- SPIRVAddressingModelKind getAddressingModel() { return AddrModel;} +- SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const; +- const SPIRVCapSet &getCapability() const { return CapSet;} +- const std::string &getCompileFlag() const { return CompileFlag;} +- std::string &getCompileFlag() { return CompileFlag;} +- void setCompileFlag(const std::string &options) { CompileFlag = options; } +- bool isSpecConstant(SPIRVWord spec_id) const { ++ SPIRVAddressingModelKind getAddressingModel() override { return AddrModel;} ++ SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const override; ++ const SPIRVCapSet &getCapability() const override { return CapSet;} ++ const std::string &getCompileFlag() const override { return CompileFlag;} ++ std::string &getCompileFlag() override { return CompileFlag;} ++ void setCompileFlag(const std::string &options) override { CompileFlag = options; } ++ bool isSpecConstant(SPIRVWord spec_id) const override { + if(SCMap) + return SCMap->find(spec_id) != SCMap->end(); + else + return false; + } +- uint64_t getSpecConstant(SPIRVWord spec_id) { ++ uint64_t getSpecConstant(SPIRVWord spec_id) override { + spirv_assert(isSpecConstant(spec_id) && "Specialization constant was not specialized!"); + return SCMap->at(spec_id); + } +- void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) { SCMap = specConstants; } +- std::set &getExtension() { return SPIRVExt;} +- SPIRVFunction *getFunction(unsigned I) const { return FuncVec[I];} +- SPIRVVariable *getVariable(unsigned I) const { return VariableVec[I];} +- virtual SPIRVValue *getValue(SPIRVId TheId) const; +- virtual std::vector getValues(const std::vector&)const; +- virtual std::vector getIds(const std::vector&)const; +- virtual std::vector getIds(const std::vector&)const; +- virtual SPIRVType *getValueType(SPIRVId TheId)const; ++ void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) override { SCMap = specConstants; } ++ std::set &getExtension() override { return SPIRVExt;} ++ SPIRVFunction *getFunction(unsigned I) const override { return FuncVec[I];} ++ SPIRVVariable *getVariable(unsigned I) const override { return VariableVec[I];} ++ virtual SPIRVValue *getValue(SPIRVId TheId) const override; ++ virtual std::vector getValues(const std::vector&)const override; ++ virtual std::vector getIds(const std::vector&)const override; ++ virtual std::vector getIds(const std::vector&)const override; ++ virtual SPIRVType *getValueType(SPIRVId TheId)const override; + virtual std::vector getValueTypes(const std::vector&) +- const; +- SPIRVMemoryModelKind getMemoryModel() { return MemoryModel;} +- virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal); +- unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const { ++ const override; ++ SPIRVMemoryModelKind getMemoryModel() override { return MemoryModel;} ++ virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal) override; ++ unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const override{ + auto Loc = EntryPointVec.find(EM); + if (Loc == EntryPointVec.end()) + return 0; + return Loc->second.size(); + } +- SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const { ++ SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const override { + auto Loc = EntryPointVec.find(EM); + if (Loc == EntryPointVec.end()) + return nullptr; + spirv_assert(I < Loc->second.size()); + return get(Loc->second[I]); + } +- unsigned getNumFunctions() const { return FuncVec.size();} +- unsigned getNumVariables() const { return VariableVec.size();} +- SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const { ++ unsigned getNumFunctions() const override { return FuncVec.size();} ++ unsigned getNumVariables() const override { return VariableVec.size();} ++ SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const override { + if (Ver) + *Ver = SrcLangVer; + return SrcLang; + } +- std::set &getSourceExtension() { return SrcExtension;} +- bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const; ++ std::set &getSourceExtension() override { return SrcExtension;} ++ bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const override; + const std::string &getModuleProcessed() const { return ModuleProcessed; } +- const std::vector &getStringVec() const { return StringVec; } ++ const std::vector &getStringVec() const override { return StringVec; } + + // Module changing functions +- bool importBuiltinSet(const std::string &, SPIRVId *); +- bool importBuiltinSetWithId(const std::string &, SPIRVId); +- void optimizeDecorates(); +- void setAddressingModel(SPIRVAddressingModelKind AM) { AddrModel = AM;} +- void setAlignment(SPIRVValue *, SPIRVWord); +- void setMemoryModel(SPIRVMemoryModelKind MM) { MemoryModel = MM;} +- void setName(SPIRVEntry *E, const std::string &Name); +- void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) { ++ bool importBuiltinSet(const std::string &, SPIRVId *) override; ++ bool importBuiltinSetWithId(const std::string &, SPIRVId) override; ++ void optimizeDecorates() override; ++ void setAddressingModel(SPIRVAddressingModelKind AM) override { AddrModel = AM;} ++ void setAlignment(SPIRVValue *, SPIRVWord) override; ++ void setMemoryModel(SPIRVMemoryModelKind MM) override { MemoryModel = MM;} ++ void setName(SPIRVEntry *E, const std::string &Name) override; ++ void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) override { + SrcLang = Lang; + SrcLangVer = Ver; + } +- void setModuleProcessed(const std::string& MP) { ++ void setModuleProcessed(const std::string& MP) override { + ModuleProcessed = MP; + } + + // Object creation functions + template void addTo(std::vector &V, SPIRVEntry *E); +- virtual SPIRVEntry *addEntry(SPIRVEntry *E); +- virtual SPIRVString *getString(const std::string &Str); ++ virtual SPIRVEntry *addEntry(SPIRVEntry *E) override; ++ virtual SPIRVString *getString(const std::string &Str) override; + virtual SPIRVMemberName *addMemberName(SPIRVTypeStruct *ST, +- SPIRVWord MemberNumber, const std::string &Name); ++ SPIRVWord MemberNumber, const std::string &Name) override; + virtual SPIRVLine *addLine(SPIRVString *FileName, SPIRVWord Line, +- SPIRVWord Column); +- virtual void addCapability(SPIRVCapabilityKind); +- virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *); +- virtual SPIRVDecorationGroup *addDecorationGroup(); +- virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group); ++ SPIRVWord Column) override; ++ virtual void addCapability(SPIRVCapabilityKind) override; ++ virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *) override; ++ virtual SPIRVDecorationGroup *addDecorationGroup() override; ++ virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group) override; + virtual SPIRVGroupDecorate *addGroupDecorate(SPIRVDecorationGroup *Group, +- const std::vector &Targets); ++ const std::vector &Targets) override; + virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric( +- SPIRVGroupDecorateGeneric *GDec); ++ SPIRVGroupDecorateGeneric *GDec) override; + virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate( +- SPIRVDecorationGroup *Group, const std::vector &Targets); ++ SPIRVDecorationGroup *Group, const std::vector &Targets) override; + virtual void addEntryPoint(SPIRVExecutionModelKind ExecModel, +- SPIRVId EntryPoint); +- virtual SPIRVForward *addForward(SPIRVType *Ty); +- virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty); +- virtual SPIRVFunction *addFunction(SPIRVFunction *); +- virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId); +- virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *); ++ SPIRVId EntryPoint) override; ++ virtual SPIRVForward *addForward(SPIRVType *Ty) override; ++ virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty) override; ++ virtual SPIRVFunction *addFunction(SPIRVFunction *) override; ++ virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId) override; ++ virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *) override; + + // Type creation functions + template T * addType(T *Ty); +- virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth); ++ virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth) override; + + // Constant creation functions +- virtual SPIRVValue *addConstant(SPIRVValue *); +- virtual SPIRVValue *addConstant(SPIRVType *, uint64_t); ++ virtual SPIRVValue *addConstant(SPIRVValue *) override; ++ virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) override; + + virtual SPIRVInstruction *addLoopMergeInst( + SPIRVId MergeBlock, SPIRVId ContinueTarget, +@@ -226,7 +226,7 @@ public: + addInstruction(SPIRVInstruction *Inst, SPIRVBasicBlock *BB, + SPIRVInstruction *InsertBefore = nullptr); + +- virtual SPIRVExtInst* getCompilationUnit() const ++ virtual SPIRVExtInst* getCompilationUnit() const override + { + for (auto& item : IdEntryMap) + { +@@ -242,7 +242,7 @@ public: + return nullptr; + } + +- virtual std::vector getGlobalVars() ++ virtual std::vector getGlobalVars() override + { + std::vector globalVars; + +@@ -260,7 +260,7 @@ public: + return globalVars; + } + +- virtual std::vector parseSpecConstants() ++ virtual std::vector parseSpecConstants() override + { + std::vector specConstants; + +diff --git a/IGC/AdaptorOCL/cif/cif/export/registry.h b/IGC/AdaptorOCL/cif/cif/export/registry.h +index a2b893c2..1571a698 100644 +--- a/IGC/AdaptorOCL/cif/cif/export/registry.h ++++ b/IGC/AdaptorOCL/cif/cif/export/registry.h +@@ -50,7 +50,8 @@ namespace Helpers { + struct EntryPointInterfaceBase{ + EntryPointInterfaceBase(){ + } +- ++ virtual ~EntryPointInterfaceBase() = default; ++ + virtual ICIF * Create(Version_t version, ICIF * parent) const = 0; + virtual InterfaceId_t GetFirstIncompatible(CIF::CompatibilityDataHandle handle) const = 0; + virtual void GetSupportedVersions(Version_t &verMin, Version_t &verMax) const = 0; +diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp +index ebad9b3d..3bde1151 100644 +--- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp ++++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp +@@ -301,7 +301,7 @@ namespace FCL + std::string dumpPath = "c:\\Intel\\IGC\\"; // default if something goes wrong + char custom_dir[256]; + FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir)); +- if (custom_dir != nullptr && strlen(custom_dir) > 0) ++ if (strlen(custom_dir) > 0) + { + dumpPath = custom_dir; + } +@@ -321,7 +321,7 @@ namespace FCL + std::string dumpPath = "/tmp/IntelIGC/"; // default if something goes wrong + char custom_dir[256]; + FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir)); +- if (custom_dir != nullptr && strlen(custom_dir) > 0) ++ if (strlen(custom_dir) > 0) + { + dumpPath = custom_dir; + } +diff --git a/visa/CISA.l b/visa/CISA.l +index def21e4b..27532695 100644 +--- a/visa/CISA.l ++++ b/visa/CISA.l +@@ -45,7 +45,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + #pragma warning(default: 4005) + #endif + +-#include "CISA.tab.h" ++#include "CISA.tab.hpp" + + #ifdef _DEBUG + #define TRACE(str) fprintf(yyout, str); ECHO; fprintf(yyout, "\n") +diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt +index 11d1bf53..551e4edb 100644 +--- a/visa/CMakeLists.txt ++++ b/visa/CMakeLists.txt +@@ -105,8 +105,8 @@ endif() + # Set up the bison and flex targets. These commands will set up commands to generate the appropriate + # source files from the input grammars. It will also set up the dependencies correctly for any + # library or executable that uses the generated source +-BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.c COMPILE_FLAGS "-vt -p CISA") +-FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.c COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") ++BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-vt -p CISA") ++FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") + ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) + + add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} ${BISON_CISAParser_OUTPUTS}) +@@ -134,7 +134,7 @@ include_directories(${Jitter_inc_dirs}) + + # Tell cmake to generate code to compile the flex and bison generated source as c++ rather than c + # (due to the fact that they are .c files rather than .cpp) +-set_source_files_properties( CISA.tab.c lex.CISA.c PROPERTIES LANGUAGE CXX ) ++set_source_files_properties( CISA.tab.cpp lex.CISA.cpp PROPERTIES LANGUAGE CXX ) + + set(LocalScheduler_SOURCES + LocalScheduler/Dependencies_G4IR.cpp +-- +2.17.1 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb new file mode 100644 index 00000000..b359b669 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb @@ -0,0 +1,37 @@ +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;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://0002-comment-out-dump-functions.patch \ + file://0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch \ + " + +SRCREV = "5f96c6db35ffa238fd84314c99a53e6708322d65" + +S = "${WORKDIR}/git" + +inherit cmake + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST_libc-musl = "null" + +DEPENDS += " flex-native bison-native clang opencl-clang" +DEPENDS_append_class-target = " clang-cross-x86_64" + +RDEPENDS_${PN} += "opencl-clang" + +EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=9.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" + +LDFLAGS_append_class-native = " -fuse-ld=lld" +TOOLCHAIN_class-native = "clang" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P(?!19\..*)\d+(\.\d+)+)$" 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 deleted file mode 100644 index 6ec9204c..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb +++ /dev/null @@ -1,38 +0,0 @@ -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;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" - -S = "${WORKDIR}/git" - -inherit cmake - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -DEPENDS += " flex-native bison-native clang opencl-clang" -DEPENDS_append_class-target = " clang-cross-x86_64" - -RDEPENDS_${PN} += "opencl-clang" - -EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=8.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2" - -LDFLAGS_append_class-native = " -fuse-ld=lld" -TOOLCHAIN_class-native = "clang" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P(?!19\..*)\d+(\.\d+)+)$" -- cgit v1.2.3-54-g00ecf