Skip to content

Commit 8f1caf5

Browse files
committed
[mlir] Only generate default for uncovered cases
Have to explicitly check if all cases are covered instead.
1 parent 4bb4f5b commit 8f1caf5

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,9 @@ static void emitAvailabilityQueryForIntEnum(const Record &enumDef,
323323
enumerant.getSymbol(), avail.getMergeInstanceType(),
324324
avail.getMergeInstance());
325325
}
326+
// Only emit default if uncovered cases.
327+
if (classCasePair.getValue().size() < enumAttr.getAllCases().size())
328+
os << " default: break;\n";
326329
os << " }\n"
327330
<< " return llvm::None;\n"
328331
<< "}\n";
@@ -367,6 +370,7 @@ static void emitAvailabilityQueryForBitEnum(const Record &enumDef,
367370
enumerant.getSymbol(), avail.getMergeInstanceType(),
368371
avail.getMergeInstance());
369372
}
373+
os << " default: break;\n";
370374
os << " }\n"
371375
<< " return llvm::None;\n"
372376
<< "}\n";

0 commit comments

Comments
 (0)