Skip to content

Commit 7a40f3e

Browse files
committed
[SILOptimizer] Handle FunctionExtractIsolationInst in the mandatory passes.
1 parent bb6de77 commit 7a40f3e

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

SwiftCompilerSources/Sources/SIL/ForwardingInstruction.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,12 @@ extension DestructureStructInst : ForwardingInstruction {
347347
public var canForwardOwnedValues: Bool { true }
348348
}
349349

350+
extension FunctionExtractIsolationInst : ForwardingInstruction {
351+
public var preservesRepresentation: Bool { true }
352+
public var canForwardGuaranteedValues: Bool { true }
353+
public var canForwardOwnedValues: Bool { false }
354+
}
355+
350356
extension InitExistentialRefInst : ForwardingInstruction {
351357
public var preservesIdentity: Bool { false }
352358
public var preservesRepresentation: Bool { true }

lib/SILOptimizer/Mandatory/OwnershipModelEliminator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ struct OwnershipModelEliminatorVisitor
219219
HANDLE_FORWARDING_INST(LinearFunctionExtract)
220220
HANDLE_FORWARDING_INST(DifferentiableFunctionExtract)
221221
HANDLE_FORWARDING_INST(MarkUninitialized)
222+
HANDLE_FORWARDING_INST(FunctionExtractIsolation)
222223
#undef HANDLE_FORWARDING_INST
223224
};
224225

lib/SILOptimizer/SemanticARC/SemanticARCOptVisitor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ struct LLVM_LIBRARY_VISIBILITY SemanticARCOptVisitor
196196
FORWARDING_INST(LinearFunction)
197197
FORWARDING_INST(DifferentiableFunctionExtract)
198198
FORWARDING_INST(LinearFunctionExtract)
199+
FORWARDING_INST(FunctionExtractIsolation)
199200
#undef FORWARDING_INST
200201

201202
bool processWorklist();

0 commit comments

Comments
 (0)