Skip to content

Commit d0bb906

Browse files
svenvhdwoodwor-intel
authored andcommitted
Let setMinSPIRVVersion take a VersionNumber
This avoids the need for casts at each call site. Original commit: KhronosGroup/SPIRV-LLVM-Translator@70ebd9b
1 parent 9b0ca67 commit d0bb906

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

llvm-spirv/lib/SPIRV/SPIRVWriter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5258,7 +5258,7 @@ bool runSpirvWriterPasses(Module *M, std::ostream *OS, std::string &ErrMsg,
52585258
if (!BM->getErrorLog().checkError(ModuleVer <= Opts.getMaxVersion(),
52595259
SPIRVEC_TripleMaxVersionIncompatible))
52605260
return false;
5261-
BM->setMinSPIRVVersion(static_cast<SPIRVWord>(ModuleVer));
5261+
BM->setMinSPIRVVersion(ModuleVer);
52625262
}
52635263

52645264
ModulePassManager PassMgr;

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVEntry.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,8 @@ void SPIRVEntry::updateModuleVersion() const {
521521
if (!Module)
522522
return;
523523

524-
Module->setMinSPIRVVersion(getRequiredSPIRVVersion());
524+
Module->setMinSPIRVVersion(
525+
static_cast<VersionNumber>(getRequiredSPIRVVersion()));
525526
}
526527

527528
spv_ostream &operator<<(spv_ostream &O, const SPIRVEntry &E) {

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVInstruction.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ void SPIRVImageInstBase::setOpWords(const std::vector<SPIRVWord> &OpsArg) {
183183
if (ImgOps & SignZeroExtMasks) {
184184
SPIRVModule *M = getModule();
185185
if (M->isAllowedToUseVersion(VersionNumber::SPIRV_1_4)) {
186-
M->setMinSPIRVVersion(static_cast<SPIRVWord>(VersionNumber::SPIRV_1_4));
186+
M->setMinSPIRVVersion(VersionNumber::SPIRV_1_4);
187187
} else {
188188
// Drop SignExtend/ZeroExtend if we cannot use SPIR-V 1.4.
189189
Ops[ImgOpsIndex] &= ~SignZeroExtMasks;

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ class SPIRVModule {
179179
virtual void setSPIRVVersion(SPIRVWord) = 0;
180180
virtual void insertEntryNoId(SPIRVEntry *Entry) = 0;
181181

182-
void setMinSPIRVVersion(SPIRVWord Ver) {
183-
setSPIRVVersion(std::max(Ver, getSPIRVVersion()));
182+
void setMinSPIRVVersion(VersionNumber Ver) {
183+
setSPIRVVersion(std::max(static_cast<SPIRVWord>(Ver), getSPIRVVersion()));
184184
}
185185

186186
// Object creation functions

0 commit comments

Comments
 (0)