Files
swift-mirror/SwiftCompilerSources/Sources/Optimizer/InstructionSimplification/CMakeLists.txt
Erik Eckstein d8fddc9dcc Optimizer: remove redundant copy_block instructions
Removes a `copy_block` if its only uses, beside ownership instructions, are callees of function calls
```
  %2 = copy_block %0
  %3 = begin_borrow [lexical] %2
  %4 = apply %3() : $@convention(block) @noescape () -> ()
  end_borrow %3
  destroy_value %2
```
->
```
  %4 = apply %0() : $@convention(block) @noescape () -> ()
```

rdar://118521396
2025-04-16 14:33:26 +02:00

45 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
SimplifyAllocRefDynamic.swift
SimplifyAllocStack.swift
SimplifyApply.swift
SimplifyBeginAndLoadBorrow.swift
SimplifyBeginCOWMutation.swift
SimplifyBranch.swift
SimplifyBuiltin.swift
SimplifyCheckedCast.swift
SimplifyClassifyBridgeObject.swift
SimplifyCondBranch.swift
SimplifyCondFail.swift
SimplifyConvertEscapeToNoEscape.swift
SimplifyCopyBlock.swift
SimplifyCopyValue.swift
SimplifyDebugStep.swift
SimplifyDestroyValue.swift
SimplifyDestructure.swift
SimplifyFixLifetime.swift
SimplifyGlobalValue.swift
SimplifyInitEnumDataAddr.swift
SimplifyKeyPath.swift
SimplifyLoad.swift
SimplifyMisc.swift
SimplifyPartialApply.swift
SimplifyPointerToAddress.swift
SimplifyRefCasts.swift
SimplifyRetainReleaseValue.swift
SimplifyStrongRetainRelease.swift
SimplifyStructExtract.swift
SimplifySwitchEnum.swift
SimplifyTuple.swift
SimplifyTupleExtract.swift
SimplifyUncheckedEnumData.swift
SimplifyValueToBridgeObject.swift
SimplifyWitnessMethod.swift)