Files
swift-mirror/SwiftCompilerSources/Sources/Optimizer/FunctionPasses/CMakeLists.txt
Erik Eckstein 96e57d62f6 Optimizer: de-virtualize deinits of non-copyable types
In regular swift this is a nice optimization. In embedded swift it's a requirement, because the compiler needs to be able to specialize generic deinits of non-copyable types.
The new de-virtualization utilities are called from two places:

* from the new DeinitDevirtualizer pass. It replaces the old MoveOnlyDeinitDevirtualization, which is very basic and does not fulfill the needs for embedded swift.

* from MandatoryPerformanceOptimizations for embedded swift
2023-11-27 09:21:34 +01:00

29 lines
873 B
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
AssumeSingleThreaded.swift
AsyncDemotion.swift
CleanupDebugSteps.swift
ComputeEscapeEffects.swift
ComputeSideEffects.swift
DeadStoreElimination.swift
DeinitDevirtualizer.swift
InitializeStaticGlobals.swift
LetPropertyLowering.swift
ObjectOutliner.swift
ObjCBridgingOptimization.swift
MergeCondFails.swift
NamedReturnValueOptimization.swift
RedundantLoadElimination.swift
ReleaseDevirtualizer.swift
SimplificationPasses.swift
StackPromotion.swift
StripObjectHeaders.swift
)