Skip to content

Commit 2c6344f

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

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

SwiftCompilerSources/Sources/SIL/ForwardingInstruction.swift

+7
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,13 @@ extension DestructureStructInst : ForwardingInstruction {
347347
public var canForwardOwnedValues: Bool { true }
348348
}
349349

350+
extension FunctionExtractIsolationInst : ForwardingInstruction {
351+
public var preservesIdentity: Bool { false }
352+
public var preservesRepresentation: Bool { true }
353+
public var canForwardGuaranteedValues: Bool { true }
354+
public var canForwardOwnedValues: Bool { false }
355+
}
356+
350357
extension InitExistentialRefInst : ForwardingInstruction {
351358
public var preservesIdentity: Bool { false }
352359
public var preservesRepresentation: Bool { true }

lib/SILOptimizer/Mandatory/OwnershipModelEliminator.cpp

+1
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

+1
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)