mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Revert "Revert "[SIL] Add tests for 'undef' values & code fixes""
This reverts commit 0ead929b12.
This commit is contained in:
@@ -2546,15 +2546,18 @@ public:
|
||||
SILValue casevalue;
|
||||
SILValue result;
|
||||
std::tie(casevalue, result) = I->getCase(i);
|
||||
auto *il = dyn_cast<IntegerLiteralInst>(casevalue);
|
||||
require(il,
|
||||
"select_value case operands should refer to integer literals");
|
||||
APInt elt = il->getValue();
|
||||
|
||||
if (!isa<SILUndef>(casevalue)) {
|
||||
auto *il = dyn_cast<IntegerLiteralInst>(casevalue);
|
||||
require(il,
|
||||
"select_value case operands should refer to integer literals");
|
||||
APInt elt = il->getValue();
|
||||
|
||||
require(!seenCaseValues.count(elt),
|
||||
"select_value dispatches on same case value more than once");
|
||||
require(!seenCaseValues.count(elt),
|
||||
"select_value dispatches on same case value more than once");
|
||||
|
||||
seenCaseValues.insert(elt);
|
||||
seenCaseValues.insert(elt);
|
||||
}
|
||||
|
||||
requireSameType(I->getOperand()->getType(), casevalue->getType(),
|
||||
"select_value case value must match type of operand");
|
||||
|
||||
Reference in New Issue
Block a user