Skip to content

Commit 94d7839

Browse files
committed
MandatoryPerformanceOptimizations: specialize witness tables for general existentials
1 parent b801c77 commit 94d7839

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

SwiftCompilerSources/Sources/Optimizer/ModulePasses/MandatoryPerformanceOptimizations.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ private func optimize(function: Function, _ context: FunctionPassContext, _ modu
143143
}
144144
}
145145

146+
case let initExAddr as InitExistentialAddrInst:
147+
if context.options.enableEmbeddedSwift {
148+
for c in initExAddr.conformances where c.isConcrete {
149+
specializeWitnessTable(for: c, moduleContext)
150+
worklist.addWitnessMethods(of: c, moduleContext)
151+
}
152+
}
153+
146154
case let bi as BuiltinInst:
147155
switch bi.id {
148156
case .BuildOrdinaryTaskExecutorRef,

0 commit comments

Comments
 (0)