@@ -78,8 +78,7 @@ SPIRVModule::~SPIRVModule() {}
7878class SPIRVModuleImpl : public SPIRVModule {
7979public:
8080 SPIRVModuleImpl ()
81- : SPIRVModule(), NextId(1 ),
82- SPIRVVersion (static_cast <SPIRVWord>(VersionNumber::SPIRV_1_0)),
81+ : SPIRVModule(), NextId(1 ), SPIRVVersion(VersionNumber::SPIRV_1_0),
8382 GeneratorId (SPIRVGEN_KhronosLLVMSPIRVTranslator), GeneratorVer(0 ),
8483 InstSchema(SPIRVISCH_Default), SrcLang(SourceLanguageOpenCL_C),
8584 SrcLangVer(102000 ), BoolTy(nullptr ), VoidTy(nullptr ) {
@@ -152,7 +151,7 @@ class SPIRVModuleImpl : public SPIRVModule {
152151 bool isEntryPoint (SPIRVExecutionModelKind, SPIRVId EP) const override ;
153152 unsigned short getGeneratorId () const override { return GeneratorId; }
154153 unsigned short getGeneratorVer () const override { return GeneratorVer; }
155- SPIRVWord getSPIRVVersion () const override { return SPIRVVersion; }
154+ VersionNumber getSPIRVVersion () const override { return SPIRVVersion; }
156155 const std::vector<SPIRVExtInst *> &getDebugInstVec () const override {
157156 return DebugInstVec;
158157 }
@@ -184,8 +183,8 @@ class SPIRVModuleImpl : public SPIRVModule {
184183 void resolveUnknownStructFields () override ;
185184 void insertEntryNoId (SPIRVEntry *Entry) override { EntryNoId.insert (Entry); }
186185
187- void setSPIRVVersion (SPIRVWord Ver) override {
188- if (!this ->isAllowedToUseVersion (static_cast <VersionNumber>( Ver) )) {
186+ void setSPIRVVersion (VersionNumber Ver) override {
187+ if (!this ->isAllowedToUseVersion (Ver)) {
189188 std::stringstream SS;
190189 SS << " SPIR-V version was restricted to at most "
191190 << to_string (getMaximumAllowedSPIRVVersion ())
@@ -496,7 +495,7 @@ class SPIRVModuleImpl : public SPIRVModule {
496495private:
497496 SPIRVErrorLog ErrLog;
498497 SPIRVId NextId;
499- SPIRVWord SPIRVVersion;
498+ VersionNumber SPIRVVersion;
500499 unsigned short GeneratorId;
501500 unsigned short GeneratorVer;
502501 SPIRVInstructionSchemaKind InstSchema;
@@ -1994,7 +1993,7 @@ spv_ostream &operator<<(spv_ostream &O, SPIRVModule &M) {
19941993 MI.CurrentDebugLine .reset ();
19951994
19961995 SPIRVEncoder Encoder (O);
1997- Encoder << MagicNumber << MI.SPIRVVersion
1996+ Encoder << MagicNumber << (SPIRVWord) MI.SPIRVVersion
19981997 << (((SPIRVWord)MI.GeneratorId << 16 ) | MI.GeneratorVer )
19991998 << MI.NextId /* Bound for Id */
20001999 << MI.InstSchema ;
@@ -2227,7 +2226,7 @@ std::istream &SPIRVModuleImpl::parseSPT(std::istream &I) {
22272226 return I;
22282227 }
22292228
2230- MI.SPIRVVersion = ReadSPIRVWord (I);
2229+ MI.SPIRVVersion = static_cast <VersionNumber>( ReadSPIRVWord (I) );
22312230 if (!ErrorLog.checkError (!I.fail (), SPIRVEC_InvalidModule,
22322231 " header parsing error" )) {
22332232 MI.setInvalid ();
@@ -2337,7 +2336,8 @@ std::istream &SPIRVModuleImpl::parseSPIRV(std::istream &I) {
23372336 !ErrorLog.checkError (Header[0 ] == MagicNumber, SPIRVEC_InvalidModule,
23382337 " invalid magic number" ) ||
23392338 !ErrorLog.checkError (
2340- isSPIRVVersionKnown (Header[1 ]), SPIRVEC_InvalidModule,
2339+ isSPIRVVersionKnown (static_cast <VersionNumber>(Header[1 ])),
2340+ SPIRVEC_InvalidModule,
23412341 " unsupported SPIR-V version number '" + to_string (Header[1 ]) +
23422342 " '. Range of supported/known SPIR-V "
23432343 " versions is " +
@@ -2355,7 +2355,7 @@ std::istream &SPIRVModuleImpl::parseSPIRV(std::istream &I) {
23552355 return I;
23562356 }
23572357
2358- MI.SPIRVVersion = Header[1 ];
2358+ MI.SPIRVVersion = static_cast <VersionNumber>( Header[1 ]) ;
23592359 MI.GeneratorId = Header[2 ] >> 16 ;
23602360 MI.GeneratorVer = Header[2 ] & 0xFFFF ;
23612361 MI.NextId = Header[3 ];
0 commit comments