summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-opencl
diff options
context:
space:
mode:
authorNaveen Saini <naveen.kumar.saini@intel.com>2019-09-12 22:21:45 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2019-09-13 16:17:22 +0800
commitb9b473a2591b1a0d344bbeb7422ac6de1283db31 (patch)
tree5b80d531da356f6237ab00552ffb1c17f6800cbb /dynamic-layers/clang-layer/recipes-opencl
parent9a9d8cb2343a4c7eae7b6ee4ea61e2a554c4cf7a (diff)
downloadmeta-intel-b9b473a2591b1a0d344bbeb7422ac6de1283db31.tar.gz
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 <naveen.kumar.saini@intel.com> 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.patch10
-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/files/0002-comment-out-dump-functions.patch (renamed from dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch)19
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch405
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb (renamed from dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.6.bb)11
6 files changed, 425 insertions, 130 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
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 @@
1From c3e985e0e82e9b4c2cc8d4dbfd8ff7890daa50e0 Mon Sep 17 00:00:00 2001
2From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com>
3Date: Thu, 6 Jun 2019 21:00:00 -0700
4Subject: [PATCH] Fix for the gcc-9 issue.
5
6Fixes #91
7
8Change-Id: I8149771d6add9645126cb94584f46485c256a488
9
10Upstream-Status: Backport
11[https://github.com/intel/intel-graphics-compiler/commit/b95b2220ddd1d50b718cae6829d832a14ff60790]
12
13Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
14---
15 IGC/AdaptorOCL/cif/cif/common/cif.h | 8 ++++++++
16 IGC/common/LLVMWarningsPop.hpp | 4 ++++
17 IGC/common/LLVMWarningsPush.hpp | 10 ++++++++++
18 3 files changed, 22 insertions(+)
19
20diff --git a/IGC/AdaptorOCL/cif/cif/common/cif.h b/IGC/AdaptorOCL/cif/cif/common/cif.h
21index 99d67d5a..00352964 100644
22--- a/IGC/AdaptorOCL/cif/cif/common/cif.h
23+++ b/IGC/AdaptorOCL/cif/cif/common/cif.h
24@@ -310,6 +310,14 @@ struct InterfacesList {
25 requestedInterfaceId, std::forward<DefaultValueT>(defaultValue), std::forward<Args>(args)...);
26 }
27
28+ /// Calls Callable::Call with all contained interfaces (sequentially, one at a time) as template parameters.
29+ /// Arguments will be forwarded as regular function parameters to Callable::Call.
30+ template <typename Callable, typename RetType, typename DefaultValueT>
31+ static RetType forwardToOne(InterfaceId_t requestedInterfaceId, DefaultValueT &&defaultValue) {
32+ return forwardToOneImpl<0, RetType, Callable, DefaultValueT, InterfacePack<SupportedInterfaces...>>(
33+ requestedInterfaceId, std::forward<DefaultValueT>(defaultValue));
34+ }
35+
36 /// Calls Callable::Call with all contained interfaces (sequentially, one at a time) as template parameters.
37 /// Arguments will be forwarded as regular function parameters to Callable::Call.
38 template <typename Callable, typename... Args>
39diff --git a/IGC/common/LLVMWarningsPop.hpp b/IGC/common/LLVMWarningsPop.hpp
40index 9875acb8..f8e405d2 100644
41--- a/IGC/common/LLVMWarningsPop.hpp
42+++ b/IGC/common/LLVMWarningsPop.hpp
43@@ -57,3 +57,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
44 #ifdef _MSC_VER
45 # pragma warning( pop )
46 #endif
47+
48+#if defined(__linux__)
49+# pragma GCC diagnostic pop
50+#endif
51diff --git a/IGC/common/LLVMWarningsPush.hpp b/IGC/common/LLVMWarningsPush.hpp
52index bab4a5e1..aca8db34 100644
53--- a/IGC/common/LLVMWarningsPush.hpp
54+++ b/IGC/common/LLVMWarningsPush.hpp
55@@ -55,8 +55,18 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
56 # pragma warning( push )
57 #endif
58
59+#if defined(__linux__)
60+# pragma GCC diagnostic push
61+#endif
62+
63 #include <llvm/Config/llvm-config.h>
64
65+#if defined(__linux__)
66+# if __GNUC__ > 8
67+# pragma GCC diagnostic ignored "-Winit-list-lifetime"
68+# endif
69+#endif
70+
71 #if defined( _WIN32 ) || defined( _WIN64 )
72
73 // 'inline' : used more than once
74--
752.17.0
76
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 @@
1From 78270818abd269bc8a1cf5deb69f15e3849333fe Mon Sep 17 00:00:00 2001 1From 4e903a6914d5124d616cf085e30e8cbaa20afb77 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com> 2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Wed, 12 Jun 2019 14:10:23 +0800 3Date: Wed, 12 Jun 2019 14:10:23 +0800
4Subject: [PATCH] skip execution of ElfPackager 4Subject: [PATCH 1/4] skip execution of ElfPackager
5 5
6ElfPackager adds the ability to convert llvm bitcode into elf files for 6ElfPackager adds the ability to convert llvm bitcode into elf files for
7easier partitioning. Skip for now until we start building a native 7easier partitioning. Skip for now until we start building a native
@@ -16,10 +16,10 @@ Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
16 1 file changed, 4 insertions(+), 4 deletions(-) 16 1 file changed, 4 insertions(+), 4 deletions(-)
17 17
18diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt 18diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt
19index 6bf4aa01..d8cd4e8b 100644 19index d9487aeb..bc728ada 100644
20--- a/IGC/ElfPackager/CMakeLists.txt 20--- a/IGC/ElfPackager/CMakeLists.txt
21+++ b/IGC/ElfPackager/CMakeLists.txt 21+++ b/IGC/ElfPackager/CMakeLists.txt
22@@ -69,10 +69,10 @@ include_directories ( 22@@ -71,10 +71,10 @@ include_directories (
23 ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ 23 ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/
24 ) 24 )
25 25
@@ -35,5 +35,5 @@ index 6bf4aa01..d8cd4e8b 100644
35 35
36 add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") 36 add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}")
37-- 37--
382.17.0 382.17.1
39 39
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 @@
1From 68d99547e620f097b5fca7315d52d411ffc75984 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Fri, 16 Aug 2019 15:49:39 +0800
4Subject: [PATCH] suppress warnings being marked as errors
5
6Otherwise when building with clang-8:
7
8| clang-8: error: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Werror,-Wdeprecated]
9
10Also see:
11https://github.com/intel/intel-graphics-compiler/issues/106
12
13Upstream-Status: Inappropriate
14Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
15---
16 IGC/CMakeLists.txt | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/IGC/CMakeLists.txt b/IGC/CMakeLists.txt
20index 7ff05f3..5deac46 100644
21--- a/IGC/CMakeLists.txt
22+++ b/IGC/CMakeLists.txt
23@@ -2763,7 +2763,7 @@ foreach(_compilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS")
24 -march=corei7
25 -mstackrealign
26 -fms-extensions
27- -Werror
28+ -Wno-error
29 -Wno-unused-parameter
30 -Wno-missing-field-initializers
31 -Wwrite-strings
32--
332.7.4
34
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/0002-comment-out-dump-functions.patch
index c9128a0a..517dc36f 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-comment-out-dump-functions.patch
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch
@@ -1,7 +1,7 @@
1From f56b781c244347158467a01aef65d2787afd1366 Mon Sep 17 00:00:00 2001 1From 15a23e549636626cf32b062a5308a29cc53ce360 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Sat, 17 Aug 2019 21:25:06 +0800 3Date: Wed, 21 Aug 2019 17:29:00 +0800
4Subject: [PATCH] comment out dump functions 4Subject: [PATCH 2/4] comment out dump functions
5 5
6Otherwise it leads to errors when linking with lld: 6Otherwise it leads to errors when linking with lld:
7 7
@@ -30,15 +30,16 @@ Otherwise it leads to errors when linking with lld:
30Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105] 30Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105]
31 31
32Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> 32Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
33Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
33--- 34---
34 IGC/Compiler/CISACodeGen/PreRAScheduler.cpp | 6 ++++++ 35 IGC/Compiler/CISACodeGen/PreRAScheduler.cpp | 6 ++++++
35 1 file changed, 6 insertions(+) 36 1 file changed, 6 insertions(+)
36 37
37diff --git a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp 38diff --git a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
38index 587e491..4effa80 100644 39index 62e89c0c..ba01af01 100644
39--- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp 40--- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
40+++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp 41+++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
41@@ -178,8 +178,10 @@ namespace IGC{ 42@@ -178,8 +178,10 @@ namespace IGC {
42 AU.addRequired<RegisterEstimator>(); 43 AU.addRequired<RegisterEstimator>();
43 } 44 }
44 45
@@ -79,8 +80,8 @@ index 587e491..4effa80 100644
79 } 80 }
80+#endif 81+#endif
81 82
82 bool PreRAScheduler::runOnFunction(Function &F) { 83 bool PreRAScheduler::runOnFunction(Function& F) {
83 CodeGenContext *ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext(); 84 CodeGenContext* ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext();
84-- 85--
852.7.4 862.17.1
86 87
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 @@
1From 598038626dd2c10b96308347718f26cfa3dc509c Mon Sep 17 00:00:00 2001
2From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com>
3Date: Mon, 9 Sep 2019 09:11:20 -0700
4Subject: [PATCH 4/4] Fix for buildbreak when using clang-9 compiler
5
6Fixes #106
7Fxies #111
8
9Change-Id: I291bf03c31b1786a00b8bc2c6d23c5adb8b72e73
10
11Upstream-Status: Backport [https://github.com/intel/intel-graphics-compiler/commit/a332238b46e9fa9e06265d18eb877d095015e6fb]
12
13Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
14---
15 IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h | 4 +
16 .../SPIRV/libSPIRV/SPIRVInstruction.h | 18 +--
17 IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp | 136 +++++++++---------
18 IGC/AdaptorOCL/cif/cif/export/registry.h | 3 +-
19 IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 +-
20 visa/CISA.l | 2 +-
21 visa/CMakeLists.txt | 6 +-
22 7 files changed, 89 insertions(+), 84 deletions(-)
23
24diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
25index 7a2ba855..307ba3f3 100644
26--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
27+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
28@@ -129,8 +129,12 @@ class SPIRVExtInst;
29 void decode(std::istream &I) { getDecoder(I) >> x >> y;}
30 #define _SPIRV_DEF_DEC3(x,y,z) \
31 void decode(std::istream &I) { getDecoder(I) >> x >> y >> z;}
32+#define _SPIRV_DEF_DEC3_OVERRIDE(x,y,z) \
33+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z;}
34 #define _SPIRV_DEF_DEC4(x,y,z,u) \
35 void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u;}
36+#define _SPIRV_DEF_DEC4_OVERRIDE(x,y,z,u) \
37+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z >> u;}
38 #define _SPIRV_DEF_DEC5(x,y,z,u,v) \
39 void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u >> v;}
40 #define _SPIRV_DEF_DEC6(x,y,z,u,v,w) \
41diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
42index 9f4e9d1f..bb85fd04 100644
43--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
44+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
45@@ -727,10 +727,10 @@ public:
46 return getValue(ConditionId);
47 }
48 SPIRVLabel *getTrueLabel() const {
49- return get<SPIRVLabel>(TrueLabelId);
50+ return SPIRVEntry::get<SPIRVLabel>(TrueLabelId);
51 }
52 SPIRVLabel *getFalseLabel() const {
53- return get<SPIRVLabel>(FalseLabelId);
54+ return SPIRVEntry::get<SPIRVLabel>(FalseLabelId);
55 }
56 protected:
57 void setWordCount(SPIRVWord TheWordCount) {
58@@ -940,7 +940,7 @@ public:
59 SPIRVEntry::setWordCount(TheWordCount);
60 LoopControlParameters.resize(TheWordCount - FixedWordCount);
61 }
62- _SPIRV_DEF_DEC4(MergeBlock, ContinueTarget, LoopControl,
63+ _SPIRV_DEF_DEC4_OVERRIDE(MergeBlock, ContinueTarget, LoopControl,
64 LoopControlParameters)
65
66 protected:
67@@ -1120,7 +1120,7 @@ public:
68
69 SPIRVFunctionCallGeneric(SPIRVModule *BM, SPIRVWord ResId, SPIRVType *TheType,
70 const std::vector<SPIRVWord> &TheArgs)
71- : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId,
72+ : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, NULL,
73 BM),
74 Args(TheArgs) {}
75 SPIRVFunctionCallGeneric():SPIRVInstruction(OC) {}
76@@ -1152,7 +1152,7 @@ class SPIRVFunctionCall:
77 public:
78 SPIRVFunctionCall():FunctionId(SPIRVID_INVALID) {}
79 SPIRVFunction *getFunction()const {
80- return get<SPIRVFunction>(FunctionId);
81+ return SPIRVEntry::get<SPIRVFunction>(FunctionId);
82 }
83 _SPIRV_DEF_DEC4(Type, Id, FunctionId, Args)
84 void validate()const;
85@@ -1169,8 +1169,8 @@ public:
86 const std::vector<SPIRVWord>& TheArgs,
87 SPIRVBasicBlock* BB);
88 SPIRVFunctionPointerCallINTEL() : CalledValueId(SPIRVID_INVALID) {}
89- SPIRVValue* getCalledValue() const { return get<SPIRVValue>(CalledValueId); }
90- _SPIRV_DEF_DEC4(Type, Id, CalledValueId, Args)
91+ SPIRVValue* getCalledValue() const { return SPIRVEntry::get<SPIRVValue>(CalledValueId); }
92+ _SPIRV_DEF_DEC4_OVERRIDE(Type, Id, CalledValueId, Args)
93 void validate() const override;
94 bool isOperandLiteral(unsigned Index) const { return false; }
95 CapVec getRequiredCapability() const override {
96@@ -1188,8 +1188,8 @@ public:
97 SPIRVFunctionPointerINTEL(SPIRVId TheId, SPIRVType* TheType,
98 SPIRVFunction* TheFunction, SPIRVBasicBlock* BB);
99 SPIRVFunctionPointerINTEL() : SPIRVInstruction(OC), TheFunction(SPIRVID_INVALID) {}
100- SPIRVFunction* getFunction() const { return get<SPIRVFunction>(TheFunction); }
101- _SPIRV_DEF_DEC3(Type, Id, TheFunction)
102+ SPIRVFunction* getFunction() const { return SPIRVEntry::get<SPIRVFunction>(TheFunction); }
103+ _SPIRV_DEF_DEC3_OVERRIDE(Type, Id, TheFunction)
104 void validate() const override;
105 bool isOperandLiteral(unsigned Index) const { return false; }
106 CapVec getRequiredCapability() const override {
107diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
108index 353341b5..74ab6e93 100644
109--- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
110+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
111@@ -94,126 +94,126 @@ public:
112 virtual ~SPIRVModuleImpl();
113
114 // Object query functions
115- bool exist(SPIRVId) const;
116- bool exist(SPIRVId, SPIRVEntry **) const;
117+ bool exist(SPIRVId) const override;
118+ bool exist(SPIRVId, SPIRVEntry **) const override;
119 SPIRVId getId(SPIRVId Id = SPIRVID_INVALID, unsigned Increment = 1);
120- virtual SPIRVEntry *getEntry(SPIRVId Id) const;
121+ virtual SPIRVEntry *getEntry(SPIRVId Id) const override;
122 virtual void addUnknownStructField(
123- SPIRVTypeStruct*, unsigned idx, SPIRVId id);
124- virtual void resolveUnknownStructFields();
125- bool hasDebugInfo() const
126+ SPIRVTypeStruct*, unsigned idx, SPIRVId id) override;
127+ virtual void resolveUnknownStructFields() override;
128+ bool hasDebugInfo() const override
129 {
130 return getCompilationUnit() != nullptr;
131 }
132
133 // Error handling functions
134- SPIRVErrorLog &getErrorLog() { return ErrLog;}
135- SPIRVErrorCode getError(std::string &ErrMsg) { return ErrLog.getError(ErrMsg);}
136+ SPIRVErrorLog &getErrorLog() override { return ErrLog;}
137+ SPIRVErrorCode getError(std::string &ErrMsg) override { return ErrLog.getError(ErrMsg);}
138
139 // Module query functions
140- SPIRVAddressingModelKind getAddressingModel() { return AddrModel;}
141- SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const;
142- const SPIRVCapSet &getCapability() const { return CapSet;}
143- const std::string &getCompileFlag() const { return CompileFlag;}
144- std::string &getCompileFlag() { return CompileFlag;}
145- void setCompileFlag(const std::string &options) { CompileFlag = options; }
146- bool isSpecConstant(SPIRVWord spec_id) const {
147+ SPIRVAddressingModelKind getAddressingModel() override { return AddrModel;}
148+ SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const override;
149+ const SPIRVCapSet &getCapability() const override { return CapSet;}
150+ const std::string &getCompileFlag() const override { return CompileFlag;}
151+ std::string &getCompileFlag() override { return CompileFlag;}
152+ void setCompileFlag(const std::string &options) override { CompileFlag = options; }
153+ bool isSpecConstant(SPIRVWord spec_id) const override {
154 if(SCMap)
155 return SCMap->find(spec_id) != SCMap->end();
156 else
157 return false;
158 }
159- uint64_t getSpecConstant(SPIRVWord spec_id) {
160+ uint64_t getSpecConstant(SPIRVWord spec_id) override {
161 spirv_assert(isSpecConstant(spec_id) && "Specialization constant was not specialized!");
162 return SCMap->at(spec_id);
163 }
164- void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) { SCMap = specConstants; }
165- std::set<std::string> &getExtension() { return SPIRVExt;}
166- SPIRVFunction *getFunction(unsigned I) const { return FuncVec[I];}
167- SPIRVVariable *getVariable(unsigned I) const { return VariableVec[I];}
168- virtual SPIRVValue *getValue(SPIRVId TheId) const;
169- virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const;
170- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const;
171- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const;
172- virtual SPIRVType *getValueType(SPIRVId TheId)const;
173+ void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) override { SCMap = specConstants; }
174+ std::set<std::string> &getExtension() override { return SPIRVExt;}
175+ SPIRVFunction *getFunction(unsigned I) const override { return FuncVec[I];}
176+ SPIRVVariable *getVariable(unsigned I) const override { return VariableVec[I];}
177+ virtual SPIRVValue *getValue(SPIRVId TheId) const override;
178+ virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const override;
179+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const override;
180+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const override;
181+ virtual SPIRVType *getValueType(SPIRVId TheId)const override;
182 virtual std::vector<SPIRVType *> getValueTypes(const std::vector<SPIRVId>&)
183- const;
184- SPIRVMemoryModelKind getMemoryModel() { return MemoryModel;}
185- virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal);
186- unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const {
187+ const override;
188+ SPIRVMemoryModelKind getMemoryModel() override { return MemoryModel;}
189+ virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal) override;
190+ unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const override{
191 auto Loc = EntryPointVec.find(EM);
192 if (Loc == EntryPointVec.end())
193 return 0;
194 return Loc->second.size();
195 }
196- SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const {
197+ SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const override {
198 auto Loc = EntryPointVec.find(EM);
199 if (Loc == EntryPointVec.end())
200 return nullptr;
201 spirv_assert(I < Loc->second.size());
202 return get<SPIRVFunction>(Loc->second[I]);
203 }
204- unsigned getNumFunctions() const { return FuncVec.size();}
205- unsigned getNumVariables() const { return VariableVec.size();}
206- SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const {
207+ unsigned getNumFunctions() const override { return FuncVec.size();}
208+ unsigned getNumVariables() const override { return VariableVec.size();}
209+ SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const override {
210 if (Ver)
211 *Ver = SrcLangVer;
212 return SrcLang;
213 }
214- std::set<std::string> &getSourceExtension() { return SrcExtension;}
215- bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const;
216+ std::set<std::string> &getSourceExtension() override { return SrcExtension;}
217+ bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const override;
218 const std::string &getModuleProcessed() const { return ModuleProcessed; }
219- const std::vector<SPIRVString *> &getStringVec() const { return StringVec; }
220+ const std::vector<SPIRVString *> &getStringVec() const override { return StringVec; }
221
222 // Module changing functions
223- bool importBuiltinSet(const std::string &, SPIRVId *);
224- bool importBuiltinSetWithId(const std::string &, SPIRVId);
225- void optimizeDecorates();
226- void setAddressingModel(SPIRVAddressingModelKind AM) { AddrModel = AM;}
227- void setAlignment(SPIRVValue *, SPIRVWord);
228- void setMemoryModel(SPIRVMemoryModelKind MM) { MemoryModel = MM;}
229- void setName(SPIRVEntry *E, const std::string &Name);
230- void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) {
231+ bool importBuiltinSet(const std::string &, SPIRVId *) override;
232+ bool importBuiltinSetWithId(const std::string &, SPIRVId) override;
233+ void optimizeDecorates() override;
234+ void setAddressingModel(SPIRVAddressingModelKind AM) override { AddrModel = AM;}
235+ void setAlignment(SPIRVValue *, SPIRVWord) override;
236+ void setMemoryModel(SPIRVMemoryModelKind MM) override { MemoryModel = MM;}
237+ void setName(SPIRVEntry *E, const std::string &Name) override;
238+ void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) override {
239 SrcLang = Lang;
240 SrcLangVer = Ver;
241 }
242- void setModuleProcessed(const std::string& MP) {
243+ void setModuleProcessed(const std::string& MP) override {
244 ModuleProcessed = MP;
245 }
246
247 // Object creation functions
248 template<class T> void addTo(std::vector<T *> &V, SPIRVEntry *E);
249- virtual SPIRVEntry *addEntry(SPIRVEntry *E);
250- virtual SPIRVString *getString(const std::string &Str);
251+ virtual SPIRVEntry *addEntry(SPIRVEntry *E) override;
252+ virtual SPIRVString *getString(const std::string &Str) override;
253 virtual SPIRVMemberName *addMemberName(SPIRVTypeStruct *ST,
254- SPIRVWord MemberNumber, const std::string &Name);
255+ SPIRVWord MemberNumber, const std::string &Name) override;
256 virtual SPIRVLine *addLine(SPIRVString *FileName, SPIRVWord Line,
257- SPIRVWord Column);
258- virtual void addCapability(SPIRVCapabilityKind);
259- virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *);
260- virtual SPIRVDecorationGroup *addDecorationGroup();
261- virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group);
262+ SPIRVWord Column) override;
263+ virtual void addCapability(SPIRVCapabilityKind) override;
264+ virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *) override;
265+ virtual SPIRVDecorationGroup *addDecorationGroup() override;
266+ virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group) override;
267 virtual SPIRVGroupDecorate *addGroupDecorate(SPIRVDecorationGroup *Group,
268- const std::vector<SPIRVEntry *> &Targets);
269+ const std::vector<SPIRVEntry *> &Targets) override;
270 virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric(
271- SPIRVGroupDecorateGeneric *GDec);
272+ SPIRVGroupDecorateGeneric *GDec) override;
273 virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate(
274- SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets);
275+ SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets) override;
276 virtual void addEntryPoint(SPIRVExecutionModelKind ExecModel,
277- SPIRVId EntryPoint);
278- virtual SPIRVForward *addForward(SPIRVType *Ty);
279- virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty);
280- virtual SPIRVFunction *addFunction(SPIRVFunction *);
281- virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId);
282- virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *);
283+ SPIRVId EntryPoint) override;
284+ virtual SPIRVForward *addForward(SPIRVType *Ty) override;
285+ virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty) override;
286+ virtual SPIRVFunction *addFunction(SPIRVFunction *) override;
287+ virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId) override;
288+ virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *) override;
289
290 // Type creation functions
291 template<class T> T * addType(T *Ty);
292- virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth);
293+ virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth) override;
294
295 // Constant creation functions
296- virtual SPIRVValue *addConstant(SPIRVValue *);
297- virtual SPIRVValue *addConstant(SPIRVType *, uint64_t);
298+ virtual SPIRVValue *addConstant(SPIRVValue *) override;
299+ virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) override;
300
301 virtual SPIRVInstruction *addLoopMergeInst(
302 SPIRVId MergeBlock, SPIRVId ContinueTarget,
303@@ -226,7 +226,7 @@ public:
304 addInstruction(SPIRVInstruction *Inst, SPIRVBasicBlock *BB,
305 SPIRVInstruction *InsertBefore = nullptr);
306
307- virtual SPIRVExtInst* getCompilationUnit() const
308+ virtual SPIRVExtInst* getCompilationUnit() const override
309 {
310 for (auto& item : IdEntryMap)
311 {
312@@ -242,7 +242,7 @@ public:
313 return nullptr;
314 }
315
316- virtual std::vector<SPIRVExtInst*> getGlobalVars()
317+ virtual std::vector<SPIRVExtInst*> getGlobalVars() override
318 {
319 std::vector<SPIRVExtInst*> globalVars;
320
321@@ -260,7 +260,7 @@ public:
322 return globalVars;
323 }
324
325- virtual std::vector<SPIRVValue*> parseSpecConstants()
326+ virtual std::vector<SPIRVValue*> parseSpecConstants() override
327 {
328 std::vector<SPIRVValue*> specConstants;
329
330diff --git a/IGC/AdaptorOCL/cif/cif/export/registry.h b/IGC/AdaptorOCL/cif/cif/export/registry.h
331index a2b893c2..1571a698 100644
332--- a/IGC/AdaptorOCL/cif/cif/export/registry.h
333+++ b/IGC/AdaptorOCL/cif/cif/export/registry.h
334@@ -50,7 +50,8 @@ namespace Helpers {
335 struct EntryPointInterfaceBase{
336 EntryPointInterfaceBase(){
337 }
338-
339+ virtual ~EntryPointInterfaceBase() = default;
340+
341 virtual ICIF * Create(Version_t version, ICIF * parent) const = 0;
342 virtual InterfaceId_t GetFirstIncompatible(CIF::CompatibilityDataHandle handle) const = 0;
343 virtual void GetSupportedVersions(Version_t &verMin, Version_t &verMax) const = 0;
344diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
345index ebad9b3d..3bde1151 100644
346--- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
347+++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
348@@ -301,7 +301,7 @@ namespace FCL
349 std::string dumpPath = "c:\\Intel\\IGC\\"; // default if something goes wrong
350 char custom_dir[256];
351 FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir));
352- if (custom_dir != nullptr && strlen(custom_dir) > 0)
353+ if (strlen(custom_dir) > 0)
354 {
355 dumpPath = custom_dir;
356 }
357@@ -321,7 +321,7 @@ namespace FCL
358 std::string dumpPath = "/tmp/IntelIGC/"; // default if something goes wrong
359 char custom_dir[256];
360 FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir));
361- if (custom_dir != nullptr && strlen(custom_dir) > 0)
362+ if (strlen(custom_dir) > 0)
363 {
364 dumpPath = custom_dir;
365 }
366diff --git a/visa/CISA.l b/visa/CISA.l
367index def21e4b..27532695 100644
368--- a/visa/CISA.l
369+++ b/visa/CISA.l
370@@ -45,7 +45,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
371 #pragma warning(default: 4005)
372 #endif
373
374-#include "CISA.tab.h"
375+#include "CISA.tab.hpp"
376
377 #ifdef _DEBUG
378 #define TRACE(str) fprintf(yyout, str); ECHO; fprintf(yyout, "\n")
379diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
380index 11d1bf53..551e4edb 100644
381--- a/visa/CMakeLists.txt
382+++ b/visa/CMakeLists.txt
383@@ -105,8 +105,8 @@ endif()
384 # Set up the bison and flex targets. These commands will set up commands to generate the appropriate
385 # source files from the input grammars. It will also set up the dependencies correctly for any
386 # library or executable that uses the generated source
387-BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.c COMPILE_FLAGS "-vt -p CISA")
388-FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.c COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
389+BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-vt -p CISA")
390+FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
391 ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
392
393 add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} ${BISON_CISAParser_OUTPUTS})
394@@ -134,7 +134,7 @@ include_directories(${Jitter_inc_dirs})
395
396 # Tell cmake to generate code to compile the flex and bison generated source as c++ rather than c
397 # (due to the fact that they are .c files rather than .cpp)
398-set_source_files_properties( CISA.tab.c lex.CISA.c PROPERTIES LANGUAGE CXX )
399+set_source_files_properties( CISA.tab.cpp lex.CISA.cpp PROPERTIES LANGUAGE CXX )
400
401 set(LocalScheduler_SOURCES
402 LocalScheduler/Dependencies_G4IR.cpp
403--
4042.17.1
405
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.11.bb
index 6ec9204c..b359b669 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.11.bb
@@ -9,12 +9,11 @@ LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc
9 9
10SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \ 10SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \
11 file://0001-skip-execution-of-ElfPackager.patch \ 11 file://0001-skip-execution-of-ElfPackager.patch \
12 file://0001-suppress-warnings-being-marked-as-errors.patch \ 12 file://0002-comment-out-dump-functions.patch \
13 file://0001-Fix-for-the-gcc-9-issue.patch \ 13 file://0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch \
14 file://0001-comment-out-dump-functions.patch \ 14 "
15 "
16 15
17SRCREV = "ebfc688126900a821e407a96417800919b793447" 16SRCREV = "5f96c6db35ffa238fd84314c99a53e6708322d65"
18 17
19S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
20 19
@@ -28,7 +27,7 @@ DEPENDS_append_class-target = " clang-cross-x86_64"
28 27
29RDEPENDS_${PN} += "opencl-clang" 28RDEPENDS_${PN} += "opencl-clang"
30 29
31EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=8.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2" 30EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=9.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3"
32 31
33LDFLAGS_append_class-native = " -fuse-ld=lld" 32LDFLAGS_append_class-native = " -fuse-ld=lld"
34TOOLCHAIN_class-native = "clang" 33TOOLCHAIN_class-native = "clang"