Skip to content

Commit 11dc7e6

Browse files
committed
Add OwnershipLiveness.swift. Core OSSA APIs.
This is what you need to correctly analyze OSSA. - computeLinearLiveness - computeInteriorLiveness - InteriorUseVisitor - OwnershipUseVisitor - LivenessBoundary Along with BorrowUtils.swift, all of our OSSA transformations are built on top of these fundamentals. With these APIs, we can build anything OSSA-related in SwiftCompilerSources. These utilities are immediately needed for borrowed arguments and lifetime dependence. In the near future, we can also use them to complete OSSA lifetimes and *correctly* fixup OSSA after transformation without introducing lots of copies and creating lots of incorrect corner cases.
1 parent f499138 commit 11dc7e6

File tree

2 files changed

+979
-1
lines changed

2 files changed

+979
-1
lines changed

SwiftCompilerSources/Sources/Optimizer/Utilities/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ swift_compiler_sources(Optimizer
1111
DiagnosticEngine.swift
1212
Devirtualization.swift
1313
EscapeUtils.swift
14-
OptUtils.swift
1514
ForwardingUtils.swift
15+
OptUtils.swift
16+
OwnershipLiveness.swift
1617
SSAUpdater.swift
1718
StaticInitCloner.swift
1819
Test.swift

0 commit comments

Comments
 (0)