Skip to content

Commit 995d6a7

Browse files
committed
Update hasGuaranteedResult and hasGuaranteedAddressResult
1 parent 6665cd5 commit 995d6a7

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

include/swift/AST/Types.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5397,13 +5397,12 @@ class SILFunctionType final
53975397
}
53985398

53995399
bool hasGuaranteedAddressResult() const {
5400-
for (auto &result : getResults()) {
5401-
if (result.isGuaranteedAddressResult()) {
5402-
return true;
5403-
}
5400+
if (getNumResults() != 1) {
5401+
return false;
54045402
}
5405-
return false;
5403+
return getResults()[0].isGuaranteedAddressResult();
54065404
}
5405+
54075406
struct IndirectFormalResultFilter {
54085407
bool operator()(SILResultInfo result) const {
54095408
return result.isFormalIndirect();

include/swift/SIL/SILFunctionConventions.h

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -299,21 +299,19 @@ class SILFunctionConventions {
299299
}
300300

301301
bool hasGuaranteedResult() const {
302-
for (auto result : funcTy->getResults()) {
303-
if (result.getConvention() == ResultConvention::Guaranteed) {
304-
return true;
305-
}
302+
if (funcTy->getNumResults() != 1) {
303+
return false;
306304
}
307-
return false;
305+
return funcTy->getResults()[0].getConvention() ==
306+
ResultConvention::Guaranteed;
308307
}
309308

310309
bool hasGuaranteedAddressResult() const {
311-
for (auto result : funcTy->getResults()) {
312-
if (result.getConvention() == ResultConvention::GuaranteedAddress) {
313-
return true;
314-
}
310+
if (funcTy->getNumResults() != 1) {
311+
return false;
315312
}
316-
return false;
313+
return funcTy->getResults()[0].getConvention() ==
314+
ResultConvention::GuaranteedAddress;
317315
}
318316

319317
struct SILResultTypeFunc;

0 commit comments

Comments
 (0)