diff options
Diffstat (limited to 'source/slang/slang-ir-lower-error-handling.cpp')
| -rw-r--r-- | source/slang/slang-ir-lower-error-handling.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/source/slang/slang-ir-lower-error-handling.cpp b/source/slang/slang-ir-lower-error-handling.cpp index 5a1389e57..387ab45b4 100644 --- a/source/slang/slang-ir-lower-error-handling.cpp +++ b/source/slang/slang-ir-lower-error-handling.cpp @@ -130,15 +130,8 @@ struct ErrorHandlingLoweringContext auto resultType = builder.getResultType(funcType->getResultType(), throwAttr->getErrorType()); IRInst* resultVal = nullptr; - if (ret->getOp() == kIROp_ReturnVal) - { - auto val = cast<IRReturnVal>(ret)->getVal(); - resultVal = builder.emitMakeResultValue(resultType, val); - } - else - { - resultVal = builder.emitMakeResultValueVoid(resultType); - } + auto val = cast<IRReturn>(ret)->getVal(); + resultVal = builder.emitMakeResultValue(resultType, val); builder.emitReturn(resultVal); ret->removeAndDeallocate(); } @@ -169,8 +162,7 @@ struct ErrorHandlingLoweringContext case kIROp_TryCall: processTryCall(cast<IRTryCall>(inst)); break; - case kIROp_ReturnVal: - case kIROp_ReturnVoid: + case kIROp_Return: processReturn(cast<IRReturn>(inst)); break; case kIROp_Throw: @@ -206,7 +198,7 @@ struct ErrorHandlingLoweringContext // Deduplicate equivalent types. sharedBuilder.deduplicateAndRebuildGlobalNumberingMap(); - // Translate all IRTryCall, IRThrow, IRReturn, IRReturnVal. + // Translate all IRTryCall, IRThrow, IRReturn. processInsts(); // Lower all functypes. |
