Skip to content

Commit 98da813

Browse files
committed
[NFC] SwiftCompilerSources: add isConvertPointerToPointerArgument
1 parent f5fc178 commit 98da813

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

SwiftCompilerSources/Sources/SIL/Function.swift

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

4141
public var isAutodiffVJP: Bool { bridged.isAutodiffVJP() }
4242

43+
public var isConvertPointerToPointerArgument: Bool { bridged.isConvertPointerToPointerArgument() }
44+
4345
public var specializationLevel: Int { bridged.specializationLevel() }
4446

4547
public var hasOwnership: Bool { bridged.hasOwnership() }

include/swift/SIL/SILBridging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,7 @@ struct BridgedFunction {
525525
BRIDGED_INLINE void setLinkage(BridgedLinkage linkage) const;
526526
BRIDGED_INLINE void setIsSerialized(bool isSerialized) const;
527527
bool isTrapNoReturn() const;
528+
bool isConvertPointerToPointerArgument() const;
528529
bool isAutodiffVJP() const;
529530
SwiftInt specializationLevel() const;
530531
SWIFT_IMPORT_UNSAFE BridgedSubstitutionMap getMethodSubstitutions(BridgedSubstitutionMap contextSubs) const;

lib/SILOptimizer/PassManager/PassManager.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1608,6 +1608,15 @@ bool BridgedFunction::isTrapNoReturn() const {
16081608
return swift::isTrapNoReturnFunction(getFunction());
16091609
}
16101610

1611+
bool BridgedFunction::isConvertPointerToPointerArgument() const {
1612+
if (auto declRef = getFunction()->getDeclRef()) {
1613+
auto *conversionDecl =
1614+
declRef.getASTContext().getConvertPointerToPointerArgument();
1615+
return declRef.getFuncDecl() == conversionDecl;
1616+
}
1617+
return false;
1618+
}
1619+
16111620
bool BridgedFunction::isAutodiffVJP() const {
16121621
return swift::isDifferentiableFuncComponent(
16131622
getFunction(), swift::AutoDiffFunctionComponent::VJP);

0 commit comments

Comments
 (0)