Skip to content

Commit f2e8e0a

Browse files
authored
Merge pull request #12493 from swiftix/sil-serialization-before-optimizations5
Enable serialization of witness tables by default
2 parents f2cbe01 + 35a624b commit f2e8e0a

File tree

69 files changed

+90
-131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+90
-131
lines changed

cmake/modules/SwiftSource.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,7 @@ function(_compile_swift_files
256256
"-Xfrontend" "${GROUP_INFO_JSON_FILE}")
257257
if (NOT SWIFT_STDLIB_ENABLE_RESILIENCE)
258258
if (SWIFT_STDLIB_SIL_SERIALIZE_ALL)
259-
list(APPEND swift_flags "-Xfrontend" "-sil-serialize-witness-tables"
260-
"-Xfrontend" "-sil-serialize-vtables")
259+
list(APPEND swift_flags "-Xfrontend" "-sil-serialize-vtables")
261260
endif()
262261
endif()
263262
endif()

include/swift/AST/SILOptions.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,6 @@ class SILOptions {
150150
/// \brief Enable large loadable types IRGen pass.
151151
bool EnableLargeLoadableTypes = true;
152152

153-
/// If set, SIL witness tables will be serialized.
154-
///
155-
/// It is supposed to be used only for compiling overlays.
156-
/// User code should never be compiled with this flag set.
157-
bool SILSerializeWitnessTables = false;
158-
159153
/// If set, SIL vtables will be serialized.
160154
///
161155
/// It is supposed to be used only for compiling overlays.

include/swift/Option/FrontendOptions.td

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,6 @@ def sil_merge_partial_modules : Flag<["-"], "sil-merge-partial-modules">,
372372
def sil_link_all : Flag<["-"], "sil-link-all">,
373373
HelpText<"Link all SIL functions">;
374374

375-
def sil_serialize_witness_tables : Flag<["-"], "sil-serialize-witness-tables">,
376-
HelpText<"Serialize eligible SIL witness tables">;
377-
378375
def sil_serialize_vtables : Flag<["-"], "sil-serialize-vtables">,
379376
HelpText<"Serialize eligible SIL vtables">;
380377

include/swift/SIL/SILWitnessTable.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
273273

274274
// Whether a conformance should be serialized.
275275
static bool conformanceIsSerialized(ProtocolConformance *conformance,
276-
ResilienceStrategy strategy,
277-
bool silSerializeWitnessTables);
276+
ResilienceStrategy strategy);
278277

279278
/// Print the witness table.
280279
void print(llvm::raw_ostream &OS, bool Verbose = false) const;

include/swift/TBDGen/TBDGen.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@ class FileUnit;
2424
class ModuleDecl;
2525

2626
void enumeratePublicSymbols(FileUnit *module, llvm::StringSet<> &symbols,
27-
bool hasMultipleIRGenThreads,
28-
bool silSerializeWitnessTables);
27+
bool hasMultipleIRGenThreads);
2928
void enumeratePublicSymbols(ModuleDecl *module, llvm::StringSet<> &symbols,
30-
bool hasMultipleIRGenThreads,
31-
bool silSerializeWitnessTables);
29+
bool hasMultipleIRGenThreads);
3230

3331
void writeTBDFile(ModuleDecl *M, llvm::raw_ostream &os,
34-
bool hasMultipleIRGenThreads, bool silSerializeWitnessTables,
32+
bool hasMultipleIRGenThreads,
3533
llvm::StringRef installName);
3634

3735
} // end namespace swift

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,8 +1208,6 @@ static bool ParseSILArgs(SILOptions &Opts, ArgList &Args,
12081208
if (Args.hasArg(OPT_sil_merge_partial_modules))
12091209
Opts.MergePartialModules = true;
12101210

1211-
Opts.SILSerializeWitnessTables |=
1212-
Args.hasArg(OPT_sil_serialize_witness_tables);
12131211
Opts.SILSerializeVTables |=
12141212
Args.hasArg(OPT_sil_serialize_vtables);
12151213

lib/FrontendTool/FrontendTool.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,7 @@ static bool performCompile(CompilerInstance &Instance,
756756
: opts.TBDInstallName;
757757

758758
if (writeTBD(Instance.getMainModule(), hasMultipleIRGenThreads,
759-
silOpts.SILSerializeWitnessTables, opts.TBDPath, installName))
759+
opts.TBDPath, installName))
760760
return true;
761761
}
762762

@@ -1064,11 +1064,11 @@ static bool performCompile(CompilerInstance &Instance,
10641064
bool error;
10651065
if (PrimarySourceFile)
10661066
error = validateTBD(PrimarySourceFile, *IRModule, hasMultipleIRGenThreads,
1067-
silOpts.SILSerializeWitnessTables, allSymbols);
1067+
allSymbols);
10681068
else
10691069
error = validateTBD(Instance.getMainModule(), *IRModule,
10701070
hasMultipleIRGenThreads,
1071-
silOpts.SILSerializeWitnessTables, allSymbols);
1071+
allSymbols);
10721072
if (error)
10731073
return true;
10741074

lib/FrontendTool/TBD.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static std::vector<StringRef> sortSymbols(llvm::StringSet<> &symbols) {
3939
}
4040

4141
bool swift::writeTBD(ModuleDecl *M, bool hasMultipleIRGenThreads,
42-
bool silSerializeWitnessTables, StringRef OutputFilename,
42+
StringRef OutputFilename,
4343
StringRef installName) {
4444
std::error_code EC;
4545
llvm::raw_fd_ostream OS(OutputFilename, EC, llvm::sys::fs::F_None);
@@ -49,8 +49,7 @@ bool swift::writeTBD(ModuleDecl *M, bool hasMultipleIRGenThreads,
4949
return true;
5050
}
5151

52-
writeTBDFile(M, OS, hasMultipleIRGenThreads, silSerializeWitnessTables,
53-
installName);
52+
writeTBDFile(M, OS, hasMultipleIRGenThreads, installName);
5453

5554
return false;
5655
}
@@ -120,23 +119,19 @@ static bool validateSymbolSet(DiagnosticEngine &diags,
120119

121120
bool swift::validateTBD(ModuleDecl *M, llvm::Module &IRModule,
122121
bool hasMultipleIRGenThreads,
123-
bool silSerializeWitnessTables,
124122
bool diagnoseExtraSymbolsInTBD) {
125123
llvm::StringSet<> symbols;
126-
enumeratePublicSymbols(M, symbols, hasMultipleIRGenThreads,
127-
silSerializeWitnessTables);
124+
enumeratePublicSymbols(M, symbols, hasMultipleIRGenThreads);
128125

129126
return validateSymbolSet(M->getASTContext().Diags, symbols, IRModule,
130127
diagnoseExtraSymbolsInTBD);
131128
}
132129

133130
bool swift::validateTBD(FileUnit *file, llvm::Module &IRModule,
134131
bool hasMultipleIRGenThreads,
135-
bool silSerializeWitnessTables,
136132
bool diagnoseExtraSymbolsInTBD) {
137133
llvm::StringSet<> symbols;
138-
enumeratePublicSymbols(file, symbols, hasMultipleIRGenThreads,
139-
silSerializeWitnessTables);
134+
enumeratePublicSymbols(file, symbols, hasMultipleIRGenThreads);
140135

141136
return validateSymbolSet(file->getParentModule()->getASTContext().Diags,
142137
symbols, IRModule, diagnoseExtraSymbolsInTBD);

lib/FrontendTool/TBD.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ class FileUnit;
2525
class FrontendOptions;
2626

2727
bool writeTBD(ModuleDecl *M, bool hasMultipleIRGenThreads,
28-
bool silSerializeWitnessTables, llvm::StringRef OutputFilename,
28+
llvm::StringRef OutputFilename,
2929
llvm::StringRef installName);
3030
bool inputFileKindCanHaveTBDValidated(InputFileKind kind);
3131
bool validateTBD(ModuleDecl *M, llvm::Module &IRModule,
32-
bool hasMultipleIRGenThreads, bool silSerializeWitnessTables,
32+
bool hasMultipleIRGenThreads,
3333
bool diagnoseExtraSymbolsInTBD);
3434
bool validateTBD(FileUnit *M, llvm::Module &IRModule,
35-
bool hasMultipleIRGenThreads, bool silSerializeWitnessTables,
35+
bool hasMultipleIRGenThreads,
3636
bool diagnoseExtraSymbolsInTBD);
3737
}
3838

lib/SIL/SILWitnessTable.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,7 @@ Identifier SILWitnessTable::getIdentifier() const {
159159
}
160160

161161
bool SILWitnessTable::conformanceIsSerialized(ProtocolConformance *conformance,
162-
ResilienceStrategy strategy,
163-
bool silSerializeWitnessTables) {
162+
ResilienceStrategy strategy) {
164163
// Serialize witness tables for conformances synthesized by
165164
// the ClangImporter.
166165
if (isa<ClangModuleUnit>(conformance->getDeclContext()->getModuleScopeContext()))
@@ -174,6 +173,5 @@ bool SILWitnessTable::conformanceIsSerialized(ProtocolConformance *conformance,
174173
auto protocolIsPublic =
175174
conformance->getProtocol()->getEffectiveAccess() >= AccessLevel::Public;
176175
auto typeIsPublic = nominal->getEffectiveAccess() >= AccessLevel::Public;
177-
return (moduleIsResilient || silSerializeWitnessTables) &&
178-
nominal->hasFixedLayout() && protocolIsPublic && typeIsPublic;
176+
return nominal->hasFixedLayout() && protocolIsPublic && typeIsPublic;
179177
}

lib/SILGen/SILGenType.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,8 +376,7 @@ class SILGenConformance : public SILGenWitnessTable<SILGenConformance> {
376376

377377
// ... or if the conformance itself thinks it should be.
378378
if (SILWitnessTable::conformanceIsSerialized(
379-
Conformance, SGM.M.getSwiftModule()->getResilienceStrategy(),
380-
SGM.M.getOptions().SILSerializeWitnessTables))
379+
Conformance, SGM.M.getSwiftModule()->getResilienceStrategy()))
381380
Serialized = IsSerialized;
382381

383382
// Not all protocols use witness tables; in this case we just skip

lib/Serialization/SerializeSIL.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2294,9 +2294,7 @@ void SILSerializer::writeSILBlock(const SILModule *SILMod) {
22942294

22952295
// Write out fragile WitnessTables.
22962296
for (const SILWitnessTable &wt : SILMod->getWitnessTables()) {
2297-
if ((ShouldSerializeAll || SILMod->getOptions().SILSerializeWitnessTables ||
2298-
wt.isSerialized()) &&
2299-
wt.getConformance()->getDeclContext()->isChildContextOf(assocDC))
2297+
if (wt.getConformance()->getDeclContext()->isChildContextOf(assocDC))
23002298
writeSILWitnessTable(wt);
23012299
}
23022300

lib/TBDGen/TBDGen.cpp

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ void TBDGenVisitor::addConformances(DeclContext *DC) {
109109
// sometimes witness thunks need to be manually made public.
110110

111111
auto conformanceIsFixed = SILWitnessTable::conformanceIsSerialized(
112-
normalConformance, SwiftModule->getResilienceStrategy(),
113-
SILSerializeWitnessTables);
112+
normalConformance, SwiftModule->getResilienceStrategy());
114113
auto addSymbolIfNecessary = [&](ValueDecl *valueReq,
115114
SILLinkage witnessLinkage) {
116115
if (conformanceIsFixed &&
@@ -329,15 +328,13 @@ void TBDGenVisitor::visitProtocolDecl(ProtocolDecl *PD) {
329328
static void enumeratePublicSymbolsAndWrite(ModuleDecl *M, FileUnit *singleFile,
330329
StringSet &symbols,
331330
bool hasMultipleIRGenThreads,
332-
bool silSerializeWitnessTables,
333331
llvm::raw_ostream *os,
334332
StringRef installName) {
335333
auto isWholeModule = singleFile == nullptr;
336334
const auto &target = M->getASTContext().LangOpts.Target;
337335
UniversalLinkageInfo linkInfo(target, hasMultipleIRGenThreads, isWholeModule);
338336

339-
TBDGenVisitor visitor(symbols, target, linkInfo, M, silSerializeWitnessTables,
340-
installName);
337+
TBDGenVisitor visitor(symbols, target, linkInfo, M, installName);
341338

342339
auto visitFile = [&](FileUnit *file) {
343340
SmallVector<Decl *, 16> decls;
@@ -372,24 +369,20 @@ static void enumeratePublicSymbolsAndWrite(ModuleDecl *M, FileUnit *singleFile,
372369
}
373370

374371
void swift::enumeratePublicSymbols(FileUnit *file, StringSet &symbols,
375-
bool hasMultipleIRGenThreads,
376-
bool silSerializeWitnessTables) {
372+
bool hasMultipleIRGenThreads) {
377373
enumeratePublicSymbolsAndWrite(
378374
file->getParentModule(), file, symbols, hasMultipleIRGenThreads,
379-
silSerializeWitnessTables, nullptr, StringRef());
375+
nullptr, StringRef());
380376
}
381377
void swift::enumeratePublicSymbols(ModuleDecl *M, StringSet &symbols,
382-
bool hasMultipleIRGenThreads,
383-
bool silSerializeWitnessTables) {
378+
bool hasMultipleIRGenThreads) {
384379
enumeratePublicSymbolsAndWrite(M, nullptr, symbols, hasMultipleIRGenThreads,
385-
silSerializeWitnessTables, nullptr,
386-
StringRef());
380+
nullptr, StringRef());
387381
}
388382
void swift::writeTBDFile(ModuleDecl *M, llvm::raw_ostream &os,
389383
bool hasMultipleIRGenThreads,
390-
bool silSerializeWitnessTables,
391384
StringRef installName) {
392385
StringSet symbols;
393386
enumeratePublicSymbolsAndWrite(M, nullptr, symbols, hasMultipleIRGenThreads,
394-
silSerializeWitnessTables, &os, installName);
387+
&os, installName);
395388
}

lib/TBDGen/TBDGenVisitor.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ class TBDGenVisitor : public ASTVisitor<TBDGenVisitor> {
4545

4646
private:
4747
bool FileHasEntryPoint = false;
48-
bool SILSerializeWitnessTables;
49-
5048
bool InsideAbstractStorageDecl = false;
5149

5250
void addSymbol(StringRef name) {
@@ -74,11 +72,9 @@ class TBDGenVisitor : public ASTVisitor<TBDGenVisitor> {
7472
public:
7573
TBDGenVisitor(StringSet &symbols, const llvm::Triple &triple,
7674
const UniversalLinkageInfo &universalLinkInfo,
77-
ModuleDecl *swiftModule, bool silSerializeWitnessTables,
78-
StringRef installName)
75+
ModuleDecl *swiftModule, StringRef installName)
7976
: Symbols(symbols), Triple(triple), UniversalLinkInfo(universalLinkInfo),
80-
SwiftModule(swiftModule), InstallName(installName),
81-
SILSerializeWitnessTables(silSerializeWitnessTables) {}
77+
SwiftModule(swiftModule), InstallName(installName) {}
8278

8379
void setFileHasEntryPoint(bool hasEntryPoint) {
8480
FileHasEntryPoint = hasEntryPoint;

stdlib/CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,18 +93,14 @@ add_custom_target(swift-test-stdlib ALL
9393

9494
if(SWIFT_STDLIB_ENABLE_RESILIENCE)
9595
set(STDLIB_SIL_SERIALIZE_ALL)
96-
set(STDLIB_SIL_SERIALIZE_WITNESS_TABLES)
9796
set(STDLIB_SIL_SERIALIZE_VTABLES)
9897
else()
9998
if(SWIFT_STDLIB_SIL_SERIALIZE_ALL)
10099
set(STDLIB_SIL_SERIALIZE_ALL)
101-
set(STDLIB_SIL_SERIALIZE_WITNESS_TABLES "-Xfrontend" "-sil-serialize-witness-tables")
102100
set(STDLIB_SIL_SERIALIZE_VTABLES "-Xfrontend" "-sil-serialize-vtables")
103-
list(APPEND STDLIB_SIL_SERIALIZE_ALL ${STDLIB_SIL_SERIALIZE_WITNESS_TABLES}
104-
${STDLIB_SIL_SERIALIZE_VTABLES})
101+
list(APPEND STDLIB_SIL_SERIALIZE_ALL ${STDLIB_SIL_SERIALIZE_VTABLES})
105102
else()
106103
set(STDLIB_SIL_SERIALIZE_ALL)
107-
set(STDLIB_SIL_SERIALIZE_WITNESS_TABLES)
108104
set(STDLIB_SIL_SERIALIZE_VTABLES)
109105
endif()
110106
endif()

stdlib/private/StdlibCollectionUnittest/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set(swift_stdlib_unittest_compile_flags)
22
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
3-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-witness-tables" "-Xfrontend" "-sil-serialize-vtables")
3+
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
44
endif()
55

66
# TODO: support this on non-POSIX platforms. It cannot be currently as it

stdlib/private/StdlibUnicodeUnittest/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set(swift_stdlib_unittest_compile_flags)
22
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
3-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-witness-tables" "-Xfrontend" "-sil-serialize-vtables")
3+
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
44
endif()
55

66
# TODO: support this on non-POSIX platforms. It cannot be currently as it

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if (SWIFT_RUNTIME_ENABLE_LEAK_CHECKER)
55
list(APPEND swift_stdlib_unittest_compile_flags "-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER")
66
endif()
77
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
8-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-witness-tables" "-Xfrontend" "-sil-serialize-vtables")
8+
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
99
endif()
1010

1111
is_build_type_optimized("${SWIFT_STDLIB_BUILD_TYPE}" IS_BUILD_TYPE_OPTIMIZED)

stdlib/public/SDK/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ if(SWIFT_BUILD_STATIC_SDK_OVERLAY)
88
list(APPEND SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES STATIC)
99
endif()
1010

11-
list(APPEND SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS "${STDLIB_SIL_SERIALIZE_WITNESS_TABLES}")
1211
list(APPEND SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS "${STDLIB_SIL_SERIALIZE_VTABLES}")
1312

1413
set(all_overlays "Accelerate;AppKit;ARKit;AssetsLibrary;AVFoundation;CallKit;CloudKit;Contacts;CoreAudio;CoreData;CoreFoundation;CoreGraphics;CoreImage;CoreLocation;CoreMedia;CryptoTokenKit;Dispatch;Foundation;GameplayKit;GLKit;HomeKit;IOKit;Intents;MapKit;MediaPlayer;Metal;MetalKit;ModelIO;ObjectiveC;OpenCL;os;Photos;QuartzCore;SafariServices;SceneKit;simd;SpriteKit;UIKit;Vision;WatchKit;XCTest;XPC")

test/Frontend/sil-merge-partial-modules.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ public class CircleManager : ShapeManager {
7272

7373
// NEGATIVE-NOT: sil {{.*}}internalFunction
7474

75-
// NEGATIVE-NOT: sil_witness_table {{.*}}Circle: Shape
75+
// NEGATIVE: sil_witness_table {{.*}}Circle: Shape
7676

7777
// NEGATIVE-NOT: sil_vtable

test/IRGen/sil_witness_tables_external_witnesstable.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-module %S/Inputs/sil_witness_tables_external_input.swift -o %t/Swift.swiftmodule -parse-stdlib -parse-as-library -module-name Swift -sil-serialize-witness-tables -sil-serialize-vtables -module-link-name swiftCore
2+
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-module %S/Inputs/sil_witness_tables_external_input.swift -o %t/Swift.swiftmodule -parse-stdlib -parse-as-library -module-name Swift -sil-serialize-vtables -module-link-name swiftCore
33
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -I %t -primary-file %s -emit-ir | %FileCheck %s
44

55
import Swift

test/SIL/Serialization/deserialize_generic.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -emit-module -sil-serialize-witness-tables -sil-serialize-vtables -o %t %S/Inputs/def_generic.swift
2+
// RUN: %target-swift-frontend -emit-module -sil-serialize-vtables -o %t %S/Inputs/def_generic.swift
33
// RUN: %target-sil-opt -assume-parsing-unqualified-ownership-sil -linker -I %t %s | %FileCheck %s
44

55
// Make sure that SILFunctionType with GenericSignature can match up with

test/SIL/Serialization/deserialize_generic_marker.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -emit-module -sil-serialize-witness-tables -sil-serialize-vtables -o %t %S/Inputs/def_generic_marker.swift
2+
// RUN: %target-swift-frontend -emit-module -sil-serialize-vtables -o %t %S/Inputs/def_generic_marker.swift
33
// RUN: %target-sil-opt -assume-parsing-unqualified-ownership-sil -linker -I %t %s | %FileCheck %s
44

55
// Make sure that SILFunctionType with GenericSignature can match up with

test/SIL/Serialization/function_param_convention.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -parse-sil -sil-inline-threshold 0 %S/Inputs/function_param_convention_input.sil -o %t/FunctionInput.swiftmodule -emit-module -parse-as-library -parse-stdlib -module-name FunctionInput -sil-serialize-witness-tables -sil-serialize-vtables -O
2+
// RUN: %target-swift-frontend -parse-sil -sil-inline-threshold 0 %S/Inputs/function_param_convention_input.sil -o %t/FunctionInput.swiftmodule -emit-module -parse-as-library -parse-stdlib -module-name FunctionInput -sil-serialize-vtables -O
33
// RUN: %target-sil-opt -assume-parsing-unqualified-ownership-sil -I %t -linker %s -o - | %FileCheck %s
44

55
import Swift

test/SIL/Serialization/init_existential_inst_deserializes_witness_tables.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -sil-inline-threshold 0 %S/Inputs/init_existential_inst_deserializes_witness_tables_input.swift -o %t/Swift.swiftmodule -emit-module -parse-as-library -parse-stdlib -module-link-name swiftCore -module-name Swift -sil-serialize-witness-tables -O
2+
// RUN: %target-swift-frontend -sil-inline-threshold 0 %S/Inputs/init_existential_inst_deserializes_witness_tables_input.swift -o %t/Swift.swiftmodule -emit-module -parse-as-library -parse-stdlib -module-link-name swiftCore -module-name Swift -O
33
// RUN: %target-swift-frontend -I %t -O %s -emit-sil -o - | %FileCheck %s
44

55
// CHECK: sil_witness_table public_external [serialized] X: P module Swift {

test/SIL/Serialization/perf_inline_without_inline_all.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -emit-module %S/Inputs/nontransparent.swift -O -sil-serialize-witness-tables -sil-serialize-vtables -parse-stdlib -parse-as-library -emit-module -o %t/Swift.swiftmodule -module-name=Swift -module-link-name swiftCore
2+
// RUN: %target-swift-frontend -emit-module %S/Inputs/nontransparent.swift -O -sil-serialize-vtables -parse-stdlib -parse-as-library -emit-module -o %t/Swift.swiftmodule -module-name=Swift -module-link-name swiftCore
33
// RUN: %target-swift-frontend %s -O -I %t -emit-sil -o - | %FileCheck %s
44

55
import Swift

test/SIL/Serialization/projection_lowered_type_parse.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-module %s -module-name Swift -sil-serialize-witness-tables -sil-serialize-vtables -module-link-name swiftCore -parse-as-library -parse-sil -parse-stdlib -o - | %target-sil-opt -assume-parsing-unqualified-ownership-sil -module-name=Swift
1+
// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-module %s -module-name Swift -sil-serialize-vtables -module-link-name swiftCore -parse-as-library -parse-sil -parse-stdlib -o - | %target-sil-opt -assume-parsing-unqualified-ownership-sil -module-name=Swift
22

33
struct A {
44
var f : () -> ()

0 commit comments

Comments
 (0)