[ownership] Make ForwardingOperand truly a loose wrapper around an operand.
-
edit: include/swift/SIL/OwnershipUtils.h
-
edit: lib/SIL/Utils/OwnershipUtils.cpp
-
Commit d505686e6dcf5156b1831d7fe133988505f3c970 by mgottesman:
[ownership] Add some helpers to BorrowedValue that lets you use it easily as a value.
-
edit: include/swift/SIL/OwnershipUtils.h
-
Commit 839c389147594d9428b06998d5d8f5afc46fd709 by mgottesman:
[ownership] Add a helper API on InteriorPointerOperand that lets you infer the InteriorPointerOperand from the interior pointer operand's user instruction's result.
-
edit: include/swift/SIL/OwnershipUtils.h
-
Commit a1a133f865cf4e0caa8721924dfc300f27384f8c by mgottesman:
[ownership] Add helper methods to InteriorPointerOperand that let you easily use its internal operand.
-
edit: include/swift/SIL/OwnershipUtils.h
-
Commit c1035030610d2d2c83cad69f202a1e6e6cfcf386 by mgottesman:
[ownership] Add a new helper InteriorPointerOperand::getSingleBaseValue().
-
edit: include/swift/SIL/OwnershipUtils.h
-
Commit 4db2aa6b7931eed5ab0c299b2354c7a4c12f191d by mgottesman:
[sil-combine] Add an OwnershipFixupContext to SILCombine.
-
edit: lib/SILOptimizer/SILCombiner/SILCombiner.h
-
edit: include/swift/SILOptimizer/Utils/OwnershipOptUtils.h
-
Commit 90f3846bb899120b92f9ab59dca8d64afeb0b0ee by mgottesman:
[sil] Define ValueBase::getNextInstruction().
-
edit: lib/SIL/IR/SILValue.cpp
-
edit: include/swift/SIL/SILValue.h
-
Commit ec50d03d7616e80363acb8c0d37d7e69c3e765c5 by mgottesman:
[ownership] Rename OwnershipFixupContext::replaceAllUsesAndErase{FixingOwnership,}.
-
edit: include/swift/SILOptimizer/Utils/OwnershipOptUtils.h
-
edit: lib/SILOptimizer/Utils/OwnershipOptUtils.cpp
-
edit: lib/SILOptimizer/Transforms/CSE.cpp
-
edit: lib/SILOptimizer/Analysis/SimplifyInstruction.cpp
-
Commit 1b14b5bceec8f3d856a1a24c53f9fad33c06338f by mgottesman:
[sil] Move swift::replaceAllUsesAndErase from Analysis/SimplifyInstruction -> Utils/InstOptUtils
-
edit: include/swift/SILOptimizer/Utils/InstOptUtils.h
-
edit: include/swift/SILOptimizer/Analysis/SimplifyInstruction.h
-
edit: lib/SILOptimizer/Analysis/SimplifyInstruction.cpp
-
edit: lib/SILOptimizer/Utils/InstOptUtils.cpp
-
Commit 1e4d3d2e97e699f7a8c04bb219b9f927d1116a56 by mgottesman:
[sil-inst-opt] Add a new utility swift::replaceSingleUse.
-
edit: lib/SILOptimizer/Utils/InstOptUtils.cpp
-
edit: include/swift/SILOptimizer/Utils/InstOptUtils.h
-
Commit 29806a3849b1265f447d008a5d77fe1ab1f7ab48 by mgottesman:
[ownership] Change canFixUpOwnershipForRAUW so that 'oldValue' is a SILValue not a SingleValueInstruction
-
edit: lib/SILOptimizer/Utils/OwnershipOptUtils.cpp
-
edit: include/swift/SILOptimizer/Utils/OwnershipOptUtils.h
-
Commit b7d00b0c0d58cdd2faa92f462ef33e04de63e6b4 by mgottesman:
[sil-ownershipoptutils] Move some helper methods to their own file section from replaceAllUsesAndErase's section before adding replaceSingleUse.
-
edit: lib/SILOptimizer/Utils/OwnershipOptUtils.cpp
-
Commit c20abdb25542121173da9bafcb6b5e4e0101ebbc by mgottesman:
[ownership] Give better names to methods on OwnershipLifetimeExtender.
-
edit: lib/SILOptimizer/Utils/OwnershipOptUtils.cpp
-
Commit 7624d73766fede426ab17391f2c0d6eacd390b2b by mgottesman:
[sil-combine] Enable two tests that already pass.
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
Commit 542cacfa6a65f8560c13a52cb1b91ac1b853ff2e by mgottesman:
[sil-combine] Enable builtin visitors.
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerBuiltinVisitors.cpp
-
Commit cff4e504cd6e7da98f0c3c24621580a35fcd21b3 by mgottesman:
[sil-combine] Update pointer_to_address canonicalizations for OSSA.
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp
-
Commit 56e9ca454301876d972b312912d6a46477ad9b5c by mgottesman:
[sil-combine] Update unchecked_addr_cast simplifications for ownership.
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp
-
Commit 279d058bfee671d80a4beb778ebf88883efd3fd9 by mgottesman:
[sil-combine] Canonicalize owned forwarding insts without non-debug non-consuming uses by sinking to their uses.
-
add: include/swift/SILOptimizer/Utils/DebugOptUtils.h
-
edit: lib/SILOptimizer/SILCombiner/SILCombine.cpp
-
edit: lib/SILOptimizer/SILCombiner/SILCombiner.h
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
Commit 7ecee99097d9a17463cec4cc6a7aea2733dac957 by mgottesman:
[sil-combine] Implement a new class SingleBlockOwnedForwardingInstFolder to help eliminate chains of owned forwarding insts and use it to update upcast and unchecked_ref_cast for ownership.
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
edit: lib/SILOptimizer/SILCombiner/SILCombiner.h
-
edit: include/swift/SIL/SILInstruction.h
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp
-
Commit 2ff6fdfd0a9f9c84fddfc11eba76c07845253306 by mgottesman:
[sil-combine] Update ownership for bridge_object_to_ref.
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp
-
Commit f92b75cafabafa8d58f3c23c72c5e8a517e384cf by mgottesman:
[sil-combine] Enable unchecked_trivial_bitcast for ownership.
-
edit: lib/SILOptimizer/SILCombiner/SILCombinerCastVisitors.cpp
-
edit: test/SILOptimizer/sil_combine_ossa.sil
-
Commit ee17f5e8f61e620c33c0157f45c09c1d0548503a by mgottesman:
[ownership] Rename OwnershipForwardingInst -> OwnershipForwardingMixin and eliminate support for isa<> and dyn_cast<>.
-
edit: lib/SILOptimizer/Utils/CanonicalizeInstruction.cpp
-
edit: lib/SIL/Utils/OwnershipUtils.cpp
-
edit: lib/SILOptimizer/SemanticARC/CopyValueOpts.cpp
-
edit: lib/SIL/Verifier/SILVerifier.cpp
-
edit: include/swift/SIL/SILInstruction.h
-
edit: lib/SILOptimizer/SemanticARC/SemanticARCOptVisitor.h
-
Commit cf4f47b3c44a0077fd0053295212147a0fc6f9e1 by mgottesman:
[ome] Explicitly set to OwnershipKind::None the ownership forwarded by all instructions that inherit from OwnershipForwardingMixin.
-
edit: lib/SILOptimizer/Mandatory/OwnershipModelEliminator.cpp
-
Commit 9eb717a5da8bb81e0e5bd6cf31fb1b014a23f96b by mgottesman:
[ownership] Ban ownership constraints with preferredKind OwnershipKind::Unowned.
-
edit: lib/SIL/Verifier/SILVerifier.cpp
-
Commit 09634d68e7fb83a434b12684a2045f90272defcd by mgottesman:
[ownership] Fix duplicate getOperandRef def given upstream changes that I rebased upon.
-
edit: include/swift/SIL/SILInstruction.h
-
Commit cd75a68ec0000127006795c1411bd677dd5e896e by mgottesman:
[ownership] Fix a small thinko I made when changing InteriorPointerOperandKind to use an Invalid case instead of an Optional.
-
edit: include/swift/SIL/OwnershipUtils.h