Skip to content

Commit 5a67af5

Browse files
committed
Swift SIL: add Function.isSpecialization
1 parent dbf1bf0 commit 5a67af5

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

SwiftCompilerSources/Sources/SIL/Function.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ final public class Function : CustomStringConvertible, HasShortDescription, Hash
4545
public var isConvertPointerToPointerArgument: Bool { bridged.isConvertPointerToPointerArgument() }
4646

4747
public var specializationLevel: Int { bridged.specializationLevel() }
48-
48+
49+
public var isSpecialization: Bool { bridged.isSpecialization() }
50+
4951
public var hasOwnership: Bool { bridged.hasOwnership() }
5052

5153
public var hasLoweredAddresses: Bool { bridged.hasLoweredAddresses() }

include/swift/SIL/SILBridging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@ struct BridgedFunction {
510510
BRIDGED_INLINE void setLinkage(BridgedLinkage linkage) const;
511511
BRIDGED_INLINE void setIsSerialized(bool isSerialized) const;
512512
BRIDGED_INLINE bool conformanceMatchesActorIsolation(BridgedConformance conformance) const;
513+
BRIDGED_INLINE bool isSpecialization() const;
513514
bool isTrapNoReturn() const;
514515
bool isConvertPointerToPointerArgument() const;
515516
bool isAutodiffVJP() const;

include/swift/SIL/SILBridgingImpl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,10 @@ bool BridgedFunction::conformanceMatchesActorIsolation(BridgedConformance confor
838838
return swift::matchesActorIsolation(conformance.unbridged(), getFunction());
839839
}
840840

841+
bool BridgedFunction::isSpecialization() const {
842+
return getFunction()->isSpecialization();
843+
}
844+
841845
bool BridgedFunction::isResilientNominalDecl(BridgedDeclObj decl) const {
842846
return decl.getAs<swift::NominalTypeDecl>()->isResilient(getFunction()->getModule().getSwiftModule(),
843847
getFunction()->getResilienceExpansion());

0 commit comments

Comments
 (0)