Files
swift-mirror/lib/SILOptimizer/Mandatory/CMakeLists.txt
Michael Gottesman c4f7076baf [region-isolation] When RegionIsolation is enabled, delay the preconcurrency import not used diagnostic to the SIL pipeline.
The reason why I am doing this is that I am going to be adding support for
preconcurrency imports to TransferNonSendable. That implies that we can have
preconcurrency import suppression in the SIL pipeline and thus that emitting the
diagnostic in Sema is too early.

To do this, I introduced a new module pass called
DiagnoseUnnecessaryPreconcurrencyImports that runs after the SILFunction pass
TransferNonSendable. The reason why I use a module pass is to ensure that
TransferNonSendable has run on all functions before we attempt to emit these
diagnostics. Then in that pass, we iterate over all of the modules functions and
construct a uniqued array of SourceFiles for these functions. Then we iterate
over the uniqued SourceFiles and use the already constructed Sema machinery to
emit the diagnostic using the source files.

rdar://126928265
2024-04-23 12:42:43 -05:00

56 lines
1.6 KiB
CMake

target_sources(swiftSILOptimizer PRIVATE
AccessEnforcementSelection.cpp
AccessMarkerElimination.cpp
AlwaysEmitConformanceMetadataPreservation.cpp
AddressLowering.cpp
CapturePromotion.cpp
ClosureLifetimeFixup.cpp
ConsumeOperatorCopyableAddressesChecker.cpp
ConsumeOperatorCopyableValuesChecker.cpp
PhiStorageOptimizer.cpp
ConstantPropagation.cpp
DiagnoseUnnecessaryPreconcurrencyImports.cpp
DebugInfoCanonicalizer.cpp
DefiniteInitialization.cpp
DIMemoryUseCollector.cpp
DataflowDiagnostics.cpp
DiagnoseInfiniteRecursion.cpp
DiagnoseInvalidEscapingCaptures.cpp
DiagnoseLifetimeIssues.cpp
DiagnoseStaticExclusivity.cpp
DiagnoseUnreachable.cpp
Differentiation.cpp
FlowIsolation.cpp
IRGenPrepare.cpp
LexicalLifetimeEliminator.cpp
LowerHopToActor.cpp
MandatoryInlining.cpp
MoveOnlyAddressCheckerTester.cpp
MoveOnlyAddressCheckerUtils.cpp
MoveOnlyBorrowToDestructureTester.cpp
MoveOnlyBorrowToDestructureUtils.cpp
MoveOnlyChecker.cpp
MoveOnlyDiagnostics.cpp
MoveOnlyObjectCheckerTester.cpp
MoveOnlyObjectCheckerUtils.cpp
MoveOnlyTempAllocationFromLetTester.cpp
MoveOnlyTypeUtils.cpp
MoveOnlyUtils.cpp
MovedAsyncVarDebugInfoPropagator.cpp
NestedSemanticFunctionCheck.cpp
OptimizeHopToExecutor.cpp
PerformanceDiagnostics.cpp
PredictableMemOpt.cpp
PMOMemoryUseCollector.cpp
RawSILInstLowering.cpp
ReferenceBindingTransform.cpp
TransferNonSendable.cpp
LowerTupleAddrConstructor.cpp
SILGenCleanup.cpp
YieldOnceCheck.cpp
OSLogOptimization.cpp
MoveOnlyWrappedTypeEliminator.cpp
RegionAnalysisInvalidationTransform.cpp
DiagnosticDeadFunctionElimination.cpp
OwnershipModelEliminator.cpp)