For full conference details, see the website: http://llvm.org/devmtg/2019-10/
Back To Schedule
Tuesday, October 22 • 11:30am - 12:05pm
Ownership SSA

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Reference-counted memory management is used by a number of programming languages, including Swift, Python, PHP, Perl, and Objective-C. Reference counting operations are usually introduced as part of lowering to the compiler's IR as, e.g., calls to builtins or library functions, but this approach leads to both missed optimization opportunities (if the presence of these calls inhibit optimizations) and correctness bugs (if optimizations reason about reference-counting incorrectly). In Swift, we have mitigated these problems by changing the Swift Intermediate Language (SIL) to express statically verifiable ownership constraints on def-use chains defining an augmented form of SSA called Ownership SSA (OSSA). OSSA has yielded many benefits such as improved frontend correctness/verification and the implementation of safer, more aggressive reference counting optimizations. The improvements allowed by OSSA may be of interest to other developers of high level languages that use reference counting memory management.


Tuesday October 22, 2019 11:30am - 12:05pm PDT
General Session (LL20ABC)