mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
(old name: CapturePropagation) The pass is now rewritten in swift which makes the code smaller and simpler. Compared to the old pass it has two improvements: * It can constant propagate whole structs (and not only builtin literals). This is important for propagating "real" Swift constants which have a struct type of e.g. `Int`. * It constant propagates keypaths even if there are other non-constant closure captures which are not propagated. This is something the old pass didn't do. rdar://151185177
42 lines
1.3 KiB
CMake
42 lines
1.3 KiB
CMake
# This source file is part of the Swift.org open source project
|
|
#
|
|
# Copyright (c) 2014 - 2021 Apple Inc. and the Swift project authors
|
|
# Licensed under Apache License v2.0 with Runtime Library Exception
|
|
#
|
|
# See http://swift.org/LICENSE.txt for license information
|
|
# See http://swift.org/CONTRIBUTORS.txt for Swift project authors
|
|
|
|
swift_compiler_sources(Optimizer
|
|
AllocBoxToStack.swift
|
|
AssumeSingleThreaded.swift
|
|
AsyncDemotion.swift
|
|
BooleanLiteralFolding.swift
|
|
ConstantCapturePropagation.swift
|
|
CleanupDebugSteps.swift
|
|
ClosureSpecialization.swift
|
|
ComputeEscapeEffects.swift
|
|
ComputeSideEffects.swift
|
|
CopyToBorrowOptimization.swift
|
|
DeadStoreElimination.swift
|
|
DeinitDevirtualizer.swift
|
|
DestroyHoisting.swift
|
|
DiagnoseInfiniteRecursion.swift
|
|
InitializeStaticGlobals.swift
|
|
LetPropertyLowering.swift
|
|
LifetimeDependenceDiagnostics.swift
|
|
LifetimeDependenceInsertion.swift
|
|
LifetimeDependenceScopeFixup.swift
|
|
LoopInvariantCodeMotion.swift
|
|
ObjectOutliner.swift
|
|
ObjCBridgingOptimization.swift
|
|
MergeCondFails.swift
|
|
NamedReturnValueOptimization.swift
|
|
RedundantLoadElimination.swift
|
|
ReleaseDevirtualizer.swift
|
|
SimplificationPasses.swift
|
|
StackPromotion.swift
|
|
StripObjectHeaders.swift
|
|
TempLValueElimination.swift
|
|
TempRValueElimination.swift
|
|
)
|