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>
This commit is contained in:
Naveen Saini 2019-09-12 22:21:45 +08:00 committed by Anuj Mittal
parent 9a9d8cb234
commit b9b473a259
6 changed files with 425 additions and 130 deletions

View File

@ -1,76 +0,0 @@
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

View File

@ -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 <naveen.kumar.saini@intel.com>
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 <naveen.kumar.saini@intel.com>
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

View File

@ -1,34 +0,0 @@
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

View File

@ -1,7 +1,7 @@
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
From 15a23e549636626cf32b062a5308a29cc53ce360 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
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:
@ -30,15 +30,16 @@ Otherwise it leads to errors when linking with lld:
Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@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
index 62e89c0c..ba01af01 100644
--- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
+++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
@@ -178,8 +178,10 @@ namespace IGC{
@@ -178,8 +178,10 @@ namespace IGC {
AU.addRequired<RegisterEstimator>();
}
@ -79,8 +80,8 @@ index 587e491..4effa80 100644
}
+#endif
bool PreRAScheduler::runOnFunction(Function &F) {
CodeGenContext *ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext();
bool PreRAScheduler::runOnFunction(Function& F) {
CodeGenContext* ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext();
--
2.7.4
2.17.1

View File

@ -0,0 +1,405 @@
From 598038626dd2c10b96308347718f26cfa3dc509c Mon Sep 17 00:00:00 2001
From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com>
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 <naveen.kumar.saini@intel.com>
---
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<SPIRVLabel>(TrueLabelId);
+ return SPIRVEntry::get<SPIRVLabel>(TrueLabelId);
}
SPIRVLabel *getFalseLabel() const {
- return get<SPIRVLabel>(FalseLabelId);
+ return SPIRVEntry::get<SPIRVLabel>(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<SPIRVWord> &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<SPIRVFunction>(FunctionId);
+ return SPIRVEntry::get<SPIRVFunction>(FunctionId);
}
_SPIRV_DEF_DEC4(Type, Id, FunctionId, Args)
void validate()const;
@@ -1169,8 +1169,8 @@ public:
const std::vector<SPIRVWord>& TheArgs,
SPIRVBasicBlock* BB);
SPIRVFunctionPointerCallINTEL() : CalledValueId(SPIRVID_INVALID) {}
- SPIRVValue* getCalledValue() const { return get<SPIRVValue>(CalledValueId); }
- _SPIRV_DEF_DEC4(Type, Id, CalledValueId, Args)
+ SPIRVValue* getCalledValue() const { return SPIRVEntry::get<SPIRVValue>(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<SPIRVFunction>(TheFunction); }
- _SPIRV_DEF_DEC3(Type, Id, TheFunction)
+ SPIRVFunction* getFunction() const { return SPIRVEntry::get<SPIRVFunction>(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<std::string> &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<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const;
- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const;
- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const;
- virtual SPIRVType *getValueType(SPIRVId TheId)const;
+ void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) override { SCMap = specConstants; }
+ std::set<std::string> &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<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const override;
+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const override;
+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const override;
+ virtual SPIRVType *getValueType(SPIRVId TheId)const override;
virtual std::vector<SPIRVType *> getValueTypes(const std::vector<SPIRVId>&)
- 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<SPIRVFunction>(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<std::string> &getSourceExtension() { return SrcExtension;}
- bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const;
+ std::set<std::string> &getSourceExtension() override { return SrcExtension;}
+ bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const override;
const std::string &getModuleProcessed() const { return ModuleProcessed; }
- const std::vector<SPIRVString *> &getStringVec() const { return StringVec; }
+ const std::vector<SPIRVString *> &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<class T> void addTo(std::vector<T *> &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<SPIRVEntry *> &Targets);
+ const std::vector<SPIRVEntry *> &Targets) override;
virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric(
- SPIRVGroupDecorateGeneric *GDec);
+ SPIRVGroupDecorateGeneric *GDec) override;
virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate(
- SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets);
+ SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &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<class T> 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<SPIRVExtInst*> getGlobalVars()
+ virtual std::vector<SPIRVExtInst*> getGlobalVars() override
{
std::vector<SPIRVExtInst*> globalVars;
@@ -260,7 +260,7 @@ public:
return globalVars;
}
- virtual std::vector<SPIRVValue*> parseSpecConstants()
+ virtual std::vector<SPIRVValue*> parseSpecConstants() override
{
std::vector<SPIRVValue*> 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

View File

@ -9,12 +9,11 @@ LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc
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 \
"
file://0002-comment-out-dump-functions.patch \
file://0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch \
"
SRCREV = "ebfc688126900a821e407a96417800919b793447"
SRCREV = "5f96c6db35ffa238fd84314c99a53e6708322d65"
S = "${WORKDIR}/git"
@ -28,7 +27,7 @@ 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"
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"