Skip to content

Commit cfc46e1

Browse files
authored
Merge pull request #69689 from apple/revert-69609-AlwaysEmitConformanceMetadataPreservation
Revert "Add mandatory SIL pass implementing '@_alwaysEmitConformanceMetadata' protocol attribute"
2 parents f3975de + 74840cc commit cfc46e1

File tree

7 files changed

+0
-148
lines changed

7 files changed

+0
-148
lines changed

include/swift/SILOptimizer/PassManager/Passes.def

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ PASS(AccessEnforcementSelection, "access-enforcement-selection",
9898
"Access Enforcement Selection")
9999
PASS(AccessEnforcementWMO, "access-enforcement-wmo",
100100
"Access Enforcement Whole Module Optimization")
101-
PASS(AlwaysEmitConformanceMetadataPreservation, "preserve-always-emit-conformance-metadata",
102-
"Mark conformances to @_alwaysEmitConformanceMetadata protocols as externally visible")
103101
PASS(CrossModuleOptimization, "cmo",
104102
"Perform cross-module optimization")
105103
PASS(AccessSummaryDumper, "access-summary-dump",

lib/IRGen/IRGenModule.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1330,11 +1330,6 @@ bool IRGenerator::canEmitWitnessTableLazily(SILWitnessTable *wt) {
13301330
if (wt->getLinkage() == SILLinkage::Shared)
13311331
return true;
13321332

1333-
// Check if this type is set to be explicitly externally visible
1334-
NominalTypeDecl *ConformingTy = wt->getConformingNominal();
1335-
if (PrimaryIGM->getSILModule().isExternallyVisibleDecl(ConformingTy))
1336-
return false;
1337-
13381333
switch (wt->getConformingNominal()->getEffectiveAccess()) {
13391334
case AccessLevel::Private:
13401335
case AccessLevel::FilePrivate:

lib/SILOptimizer/Mandatory/AlwaysEmitConformanceMetadataPreservation.cpp

Lines changed: 0 additions & 107 deletions
This file was deleted.

lib/SILOptimizer/Mandatory/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
target_sources(swiftSILOptimizer PRIVATE
22
AccessEnforcementSelection.cpp
33
AccessMarkerElimination.cpp
4-
AlwaysEmitConformanceMetadataPreservation.cpp
54
AddressLowering.cpp
65
CapturePromotion.cpp
76
ClosureLifetimeFixup.cpp

lib/SILOptimizer/PassManager/PassPipeline.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,6 @@ SILPassPipelinePlan::getLoweringPassPipeline(const SILOptions &Options) {
875875
P.startPipeline("Lowering");
876876
P.addLowerHopToActor(); // FIXME: earlier for more opportunities?
877877
P.addOwnershipModelEliminator();
878-
P.addAlwaysEmitConformanceMetadataPreservation();
879878
P.addIRGenPrepare();
880879

881880
return P;

test/Reflection/Inputs/PreservedConformanceProtocols.swift

Lines changed: 0 additions & 2 deletions
This file was deleted.

test/Reflection/preserve_conformance_metadata_attr.swift

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)