Skip to content

Commit 706c08c

Browse files
authored
Merge pull request #12549 from swiftix/sil-serialization-before-optimizations5
Enable the serialization of sil_vtables by default and completely remove the -sil-serialize-vtables option
2 parents e05f7c9 + c3bc08e commit 706c08c

File tree

66 files changed

+102
-137
lines changed

Some content is hidden

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

66 files changed

+102
-137
lines changed

CMakeLists.txt

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -251,10 +251,6 @@ option(SWIFT_RUNTIME_CLOBBER_FREED_OBJECTS
251251
"Overwrite memory for deallocated Swift objects"
252252
"${SWIFT_RUNTIME_CLOBBER_FREED_OBJECTS_default}")
253253

254-
option(SWIFT_SERIALIZE_STDLIB_UNITTEST
255-
"Compile the StdlibUnittest module with -sil-serialize-all to increase the test coverage for the optimizer"
256-
FALSE)
257-
258254
option(SWIFT_STDLIB_SIL_DEBUGGING
259255
"Compile the Swift standard library with -gsil to enable debugging and profiling on SIL level"
260256
FALSE)
@@ -296,20 +292,6 @@ option(SWIFT_STDLIB_ENABLE_SIL_OWNERSHIP
296292
"Build the standard libraries and overlays with sil ownership enabled."
297293
FALSE)
298294

299-
option(SWIFT_STDLIB_SIL_SERIALIZE_ALL
300-
"Build the standard libraries and overlays serializing all method bodies"
301-
TRUE)
302-
303-
if(SWIFT_SERIALIZE_STDLIB_UNITTEST AND SWIFT_STDLIB_ENABLE_RESILIENCE)
304-
message(WARNING "Ignoring SWIFT_SERIALIZE_STDLIB_UNITTEST because SWIFT_STDLIB_ENABLE_RESILIENCE is set")
305-
set(SWIFT_SERIALIZE_STDLIB_UNITTEST FALSE)
306-
endif()
307-
308-
if(SWIFT_STDLIB_SIL_SERIALIZE_ALL AND SWIFT_STDLIB_ENABLE_RESILIENCE)
309-
message(WARNING "Ignoring SWIFT_STDLIB_SIL_SERIALIZE_ALL because SWIFT_STDLIB_ENABLE_RESILIENCE is set")
310-
set(SWIFT_STDLIB_SIL_SERIALIZE_ALL FALSE)
311-
endif()
312-
313295
#
314296
# End of user-configurable options.
315297
#

cmake/modules/SwiftSource.cmake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,11 +254,6 @@ function(_compile_swift_files
254254
"-nostdimport" "-parse-stdlib" "-module-name" "Swift")
255255
list(APPEND swift_flags "-Xfrontend" "-group-info-path"
256256
"-Xfrontend" "${GROUP_INFO_JSON_FILE}")
257-
if (NOT SWIFT_STDLIB_ENABLE_RESILIENCE)
258-
if (SWIFT_STDLIB_SIL_SERIALIZE_ALL)
259-
list(APPEND swift_flags "-Xfrontend" "-sil-serialize-vtables")
260-
endif()
261-
endif()
262257
endif()
263258

264259
# Force swift 3 compatibility mode for Standard Library and overlay.

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 vtables 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 SILSerializeVTables = false;
158-
159153
SILOptions() {}
160154

161155
/// Return a hash code of any components from these options that should

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_vtables : Flag<["-"], "sil-serialize-vtables">,
376-
HelpText<"Serialize eligible SIL vtables">;
377-
378375
def sil_verify_all : Flag<["-"], "sil-verify-all">,
379376
HelpText<"Verify SIL after each transform">;
380377

include/swift/SIL/SILVTable.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
namespace swift {
3333

3434
class ClassDecl;
35+
enum IsSerialized_t : unsigned char;
3536
class SILFunction;
3637
class SILModule;
3738

@@ -93,14 +94,18 @@ class SILVTable : public llvm::ilist_node<SILVTable>,
9394
/// The ClassDecl mapped to this VTable.
9495
ClassDecl *Class;
9596

97+
/// Whether or not this vtable is serialized, which allows
98+
/// devirtualization from another module.
99+
bool Serialized : 1;
100+
96101
/// The number of SILVTables entries.
97-
unsigned NumEntries;
102+
unsigned NumEntries : 31;
98103

99104
/// Tail-allocated SILVTable entries.
100105
Entry Entries[1];
101106

102107
/// Private constructor. Create SILVTables by calling SILVTable::create.
103-
SILVTable(ClassDecl *c, ArrayRef<Entry> entries);
108+
SILVTable(ClassDecl *c, IsSerialized_t serialized, ArrayRef<Entry> entries);
104109

105110
public:
106111
~SILVTable();
@@ -109,11 +114,15 @@ class SILVTable : public llvm::ilist_node<SILVTable>,
109114
/// The SILDeclRef keys should reference the most-overridden members available
110115
/// through the class.
111116
static SILVTable *create(SILModule &M, ClassDecl *Class,
117+
IsSerialized_t Serialized,
112118
ArrayRef<Entry> Entries);
113119

114120
/// Return the class that the vtable represents.
115121
ClassDecl *getClass() const { return Class; }
116122

123+
/// Returns true if this vtable is going to be (or was) serialized.
124+
IsSerialized_t isSerialized() const;
125+
117126
/// Return all of the method entries.
118127
ArrayRef<Entry> getEntries() const { return {Entries, NumEntries}; }
119128

include/swift/Serialization/ModuleFormat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const uint16_t VERSION_MAJOR = 0;
5454
/// in source control, you should also update the comment to briefly
5555
/// describe what change you made. The content of this comment isn't important;
5656
/// it just ensures a conflict if two people change the module format.
57-
const uint16_t VERSION_MINOR = 371; // Last change: SILFunctionType.noescape
57+
const uint16_t VERSION_MINOR = 372; // Last change: VTable serialized
5858

5959
using DeclID = PointerEmbeddedInt<unsigned, 31>;
6060
using DeclIDField = BCFixed<31>;

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,9 +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.SILSerializeVTables |=
1212-
Args.hasArg(OPT_sil_serialize_vtables);
1213-
12141211
// Parse the optimization level.
12151212
// Default to Onone settings if no option is passed.
12161213
IRGenOpts.Optimize = false;

lib/ParseSIL/ParseSIL.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5108,6 +5108,12 @@ bool SILParserTUState::parseSILVTable(Parser &P) {
51085108
P.consumeToken(tok::kw_sil_vtable);
51095109
SILParser VTableState(P);
51105110

5111+
IsSerialized_t Serialized = IsNotSerialized;
5112+
if (parseDeclSILOptional(nullptr, &Serialized, nullptr, nullptr,
5113+
nullptr, nullptr, nullptr, nullptr, nullptr,
5114+
nullptr, VTableState))
5115+
return true;
5116+
51115117
// Parse the class name.
51125118
Identifier Name;
51135119
SourceLoc Loc;
@@ -5195,7 +5201,7 @@ bool SILParserTUState::parseSILVTable(Parser &P) {
51955201
P.parseMatchingToken(tok::r_brace, RBraceLoc, diag::expected_sil_rbrace,
51965202
LBraceLoc);
51975203

5198-
SILVTable::create(M, theClass, vtableEntries);
5204+
SILVTable::create(M, theClass, Serialized, vtableEntries);
51995205
return false;
52005206
}
52015207

lib/SIL/SILPrinter.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2536,7 +2536,11 @@ void SILInstruction::printInContext(llvm::raw_ostream &OS) const {
25362536
}
25372537

25382538
void SILVTable::print(llvm::raw_ostream &OS, bool Verbose) const {
2539-
OS << "sil_vtable " << getClass()->getName() << " {\n";
2539+
OS << "sil_vtable ";
2540+
if (isSerialized())
2541+
OS << "[serialized] ";
2542+
OS << getClass()->getName() << " {\n";
2543+
25402544
PrintOptions QualifiedSILTypeOptions = PrintOptions::printQualifiedSILType();
25412545
for (auto &entry : getEntries()) {
25422546
OS << " ";

lib/SIL/SILVTable.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@
2424
using namespace swift;
2525

2626
SILVTable *SILVTable::create(SILModule &M, ClassDecl *Class,
27+
IsSerialized_t Serialized,
2728
ArrayRef<Entry> Entries) {
2829
// SILVTable contains one element declared in Entries. We must allocate
2930
// space for it, because its default ctor will write to it.
3031
unsigned NumTailElements = std::max((unsigned)Entries.size(), 1U)-1;
3132
void *buf = M.allocate(sizeof(SILVTable) + sizeof(Entry) * NumTailElements,
3233
alignof(SILVTable));
33-
SILVTable *vt = ::new (buf) SILVTable(Class, Entries);
34+
SILVTable *vt = ::new (buf) SILVTable(Class, Serialized, Entries);
3435
M.vtables.push_back(vt);
3536
M.VTableMap[Class] = vt;
3637
// Update the Module's cache with new vtable + vtable entries:
@@ -57,9 +58,13 @@ void SILVTable::removeFromVTableCache(Entry &entry) {
5758
M.VTableEntryCache.erase({this, entry.Method});
5859
}
5960

60-
SILVTable::SILVTable(ClassDecl *c, ArrayRef<Entry> entries)
61-
: Class(c), NumEntries(entries.size())
62-
{
61+
IsSerialized_t SILVTable::isSerialized() const {
62+
return Serialized ? IsSerialized : IsNotSerialized;
63+
}
64+
65+
SILVTable::SILVTable(ClassDecl *c, IsSerialized_t serialized,
66+
ArrayRef<Entry> entries)
67+
: Class(c), Serialized(serialized), NumEntries(entries.size()) {
6368
memcpy(Entries, entries.begin(), sizeof(Entry) * NumEntries);
6469

6570
// Bump the reference count of functions referenced by this table.

lib/SIL/SILVerifier.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4438,7 +4438,7 @@ void SILVTable::verify(const SILModule &M) const {
44384438
assert(entry.Method.hasDecl() && "vtable entry is not a decl");
44394439
auto baseInfo = M.Types.getConstantInfo(entry.Method);
44404440
ValueDecl *decl = entry.Method.getDecl();
4441-
4441+
44424442
assert((!isa<FuncDecl>(decl)
44434443
|| !cast<FuncDecl>(decl)->isObservingAccessor())
44444444
&& "observing accessors shouldn't have vtable entries");

lib/SILGen/SILGenType.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,14 @@ class SILGenVTable : public SILVTableVisitor<SILGenVTable> {
226226
dtorFn->getLinkage()});
227227
}
228228

229+
IsSerialized_t serialized = IsNotSerialized;
230+
auto classIsPublic = theClass->getEffectiveAccess() >= AccessLevel::Public;
231+
// Only public, fixed-layout classes should be serialized.
232+
if (classIsPublic && theClass->hasFixedLayout())
233+
serialized = IsSerialized;
234+
229235
// Finally, create the vtable.
230-
SILVTable::create(SGM.M, theClass, vtableEntries);
236+
SILVTable::create(SGM.M, theClass, serialized, vtableEntries);
231237
}
232238

233239
void visitAncestor(ClassDecl *ancestor) {

lib/Serialization/DeserializeSIL.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2485,7 +2485,8 @@ SILVTable *SILDeserializer::readVTable(DeclID VId) {
24852485
(void)kind;
24862486

24872487
DeclID ClassID;
2488-
VTableLayout::readRecord(scratch, ClassID);
2488+
unsigned Serialized;
2489+
VTableLayout::readRecord(scratch, ClassID, Serialized);
24892490
if (ClassID == 0) {
24902491
DEBUG(llvm::dbgs() << "VTable classID is 0.\n");
24912492
return nullptr;
@@ -2538,7 +2539,10 @@ SILVTable *SILDeserializer::readVTable(DeclID VId) {
25382539
break;
25392540
kind = SILCursor.readRecord(entry.ID, scratch);
25402541
}
2541-
SILVTable *vT = SILVTable::create(SILMod, theClass, vtableEntries);
2542+
SILVTable *vT = SILVTable::create(
2543+
SILMod, theClass,
2544+
(Serialized) ? IsSerialized : IsNotSerialized,
2545+
vtableEntries);
25422546
vTableOrOffset = vT;
25432547

25442548
if (Callback) Callback->didDeserialize(MF->getAssociatedModule(), vT);

lib/Serialization/SILFormat.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ namespace sil_block {
186186

187187
using VTableLayout = BCRecordLayout<
188188
SIL_VTABLE,
189-
DeclIDField // Class Decl
189+
DeclIDField, // Class Decl
190+
BCFixed<1> // IsSerialized.
190191
>;
191192

192193
using VTableEntryLayout = BCRecordLayout<

lib/Serialization/SerializeSIL.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2080,7 +2080,8 @@ void SILSerializer::writeSILVTable(const SILVTable &vt) {
20802080
VTableList[vt.getClass()->getName()] = NextVTableID++;
20812081
VTableOffset.push_back(Out.GetCurrentBitNo());
20822082
VTableLayout::emitRecord(Out, ScratchRecord, SILAbbrCodes[VTableLayout::Code],
2083-
S.addDeclRef(vt.getClass()));
2083+
S.addDeclRef(vt.getClass()),
2084+
vt.isSerialized() == IsSerialized ? 1 : 0);
20842085

20852086
for (auto &entry : vt.getEntries()) {
20862087
SmallVector<ValueID, 4> ListOfValues;
@@ -2287,7 +2288,7 @@ void SILSerializer::writeSILBlock(const SILModule *SILMod) {
22872288
const DeclContext *assocDC = SILMod->getAssociatedContext();
22882289
assert(assocDC && "cannot serialize SIL without an associated DeclContext");
22892290
for (const SILVTable &vt : SILMod->getVTables()) {
2290-
if ((ShouldSerializeAll || SILMod->getOptions().SILSerializeVTables) &&
2291+
if ((ShouldSerializeAll || vt.isSerialized()) &&
22912292
vt.getClass()->isChildContextOf(assocDC))
22922293
writeSILVTable(vt);
22932294
}

stdlib/CMakeLists.txt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,6 @@ add_custom_target(swift-stdlib-sibgen
9191
add_custom_target(swift-test-stdlib ALL
9292
DEPENDS "swift-test-stdlib${SWIFT_PRIMARY_VARIANT_SUFFIX}")
9393

94-
if(SWIFT_STDLIB_ENABLE_RESILIENCE)
95-
set(STDLIB_SIL_SERIALIZE_ALL)
96-
set(STDLIB_SIL_SERIALIZE_VTABLES)
97-
else()
98-
if(SWIFT_STDLIB_SIL_SERIALIZE_ALL)
99-
set(STDLIB_SIL_SERIALIZE_ALL)
100-
set(STDLIB_SIL_SERIALIZE_VTABLES "-Xfrontend" "-sil-serialize-vtables")
101-
list(APPEND STDLIB_SIL_SERIALIZE_ALL ${STDLIB_SIL_SERIALIZE_VTABLES})
102-
else()
103-
set(STDLIB_SIL_SERIALIZE_ALL)
104-
set(STDLIB_SIL_SERIALIZE_VTABLES)
105-
endif()
106-
endif()
107-
10894
add_subdirectory(public)
10995
add_subdirectory(private)
11096

stdlib/private/StdlibCollectionUnittest/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
set(swift_stdlib_unittest_compile_flags)
2-
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
3-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
4-
endif()
52

63
# TODO: support this on non-POSIX platforms. It cannot be currently as it
74
# depends on pthreads.

stdlib/private/StdlibUnicodeUnittest/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
set(swift_stdlib_unittest_compile_flags)
2-
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
3-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
4-
endif()
52

63
# TODO: support this on non-POSIX platforms. It cannot be currently as it
74
# depends on pthreads.

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ set(swift_stdlib_unittest_compile_flags
44
if (SWIFT_RUNTIME_ENABLE_LEAK_CHECKER)
55
list(APPEND swift_stdlib_unittest_compile_flags "-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER")
66
endif()
7-
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
8-
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-vtables")
9-
endif()
107

118
is_build_type_optimized("${SWIFT_STDLIB_BUILD_TYPE}" IS_BUILD_TYPE_OPTIMIZED)
129
if (NOT IS_BUILD_TYPE_OPTIMIZED)

stdlib/private/SwiftPrivate/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ add_swift_library(swiftSwiftPrivate ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLI
66
PRNG.swift
77
ShardedAtomicCounter.swift
88

9-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL}
9+
SWIFT_COMPILE_FLAGS
1010
INSTALL_IN_COMPONENT stdlib-experimental)
1111

stdlib/private/SwiftPrivateLibcExtras/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ add_swift_library(swiftSwiftPrivateLibcExtras ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES
66
Subprocess.swift
77

88
SWIFT_MODULE_DEPENDS SwiftPrivate
9-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL}
9+
SWIFT_COMPILE_FLAGS
1010
SWIFT_MODULE_DEPENDS_OSX Darwin
1111
SWIFT_MODULE_DEPENDS_IOS Darwin
1212
SWIFT_MODULE_DEPENDS_TVOS Darwin

stdlib/private/SwiftPrivatePthreadExtras/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ add_swift_library(swiftSwiftPrivatePthreadExtras ${SWIFT_STDLIB_LIBRARY_BUILD_TY
1212
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
1313
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1414
SWIFT_MODULE_DEPENDS_HAIKU Glibc
15-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL}
15+
SWIFT_COMPILE_FLAGS
1616
TARGET_SDKS ALL_POSIX_PLATFORMS
1717
INSTALL_IN_COMPONENT stdlib-experimental)
1818

stdlib/public/SDK/Accelerate/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ add_swift_library(swiftAccelerate ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SD
77
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
88
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
99
TARGET_SDKS OSX IOS IOS_SIMULATOR TVOS TVOS_SIMULATOR
10-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL} -parse-stdlib
10+
SWIFT_COMPILE_FLAGS -parse-stdlib
1111
SWIFT_MODULE_DEPENDS_OSX Darwin CoreFoundation CoreGraphics Dispatch Foundation IOKit Metal ObjectiveC XPC # auto-updated
1212
os
1313
SWIFT_MODULE_DEPENDS_IOS Darwin CoreFoundation CoreGraphics Dispatch Foundation Metal ObjectiveC os # auto-updated

stdlib/public/SDK/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +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_VTABLES}")
12-
1311
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")
1412

1513
if(DEFINED SWIFT_OVERLAY_TARGETS)

stdlib/public/SDK/CoreGraphics/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ add_swift_library(swiftCoreGraphics ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_
66
CGFloat.swift.gyb
77
Private.swift
88

9-
# rdar://problem/20891746
10-
# SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL}
119
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
1210
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
1311
SWIFT_MODULE_DEPENDS_OSX Darwin CoreFoundation Dispatch IOKit ObjectiveC # auto-updated

stdlib/public/SDK/simd/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ add_swift_library(swiftsimd ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVER
77

88
SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
99
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
10-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL} -parse-stdlib
10+
SWIFT_COMPILE_FLAGS -parse-stdlib
1111
SWIFT_MODULE_DEPENDS_OSX Darwin # auto-updated
1212
SWIFT_MODULE_DEPENDS_IOS Darwin # auto-updated
1313
SWIFT_MODULE_DEPENDS_TVOS Darwin # auto-updated

stdlib/public/SwiftOnoneSupport/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ add_swift_library(swiftSwiftOnoneSupport ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_
22
# This file should be listed the first. Module name is inferred from the
33
# filename.
44
SwiftOnoneSupport.swift
5-
SWIFT_COMPILE_FLAGS ${STDLIB_SIL_SERIALIZE_ALL} "-parse-stdlib" "-Xllvm" "-sil-inline-generics=false" "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
5+
SWIFT_COMPILE_FLAGS "-parse-stdlib" "-Xllvm" "-sil-inline-generics=false" "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}"
66
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
77
INSTALL_IN_COMPONENT stdlib)

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

0 commit comments

Comments
 (0)