Skip to content

Commit 4a7895e

Browse files
committed
SwiftCompilerSources: bridge Function.isAddressor()
1 parent 0d496b5 commit 4a7895e

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

SwiftCompilerSources/Sources/SIL/Function.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ final public class Function : CustomStringConvertible, HasShortDescription, Hash
5252

5353
public var isConvertPointerToPointerArgument: Bool { bridged.isConvertPointerToPointerArgument() }
5454

55+
public var isAddressor: Bool { bridged.isAddressor() }
56+
5557
public var specializationLevel: Int { bridged.specializationLevel() }
5658

5759
public var isSpecialization: Bool { bridged.isSpecialization() }

include/swift/SIL/SILBridging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,7 @@ struct BridgedFunction {
562562
BRIDGED_INLINE bool isSpecialization() const;
563563
bool isTrapNoReturn() const;
564564
bool isConvertPointerToPointerArgument() const;
565+
bool isAddressor() const;
565566
bool isAutodiffVJP() const;
566567
SwiftInt specializationLevel() const;
567568
SWIFT_IMPORT_UNSAFE BridgedSubstitutionMap getMethodSubstitutions(BridgedSubstitutionMap contextSubs,

lib/SILOptimizer/Utils/OptimizerBridging.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,13 @@ bool BridgedFunction::isConvertPointerToPointerArgument() const {
511511
return false;
512512
}
513513

514+
bool BridgedFunction::isAddressor() const {
515+
if (auto declRef = dyn_cast_or_null<AccessorDecl>(getFunction()->getDeclRef().getDecl())) {
516+
return declRef->isAnyAddressor();
517+
}
518+
return false;
519+
}
520+
514521
bool BridgedFunction::isAutodiffVJP() const {
515522
return swift::isDifferentiableFuncComponent(
516523
getFunction(), swift::AutoDiffFunctionComponent::VJP);

0 commit comments

Comments
 (0)