This pass does one thing: constant fold away the destructor of unique_ptr based on ownership information we get form move semantics.
However, it is also (hopefully) the scaffolding for many more lifetime optimizations both around unique_ptr and other smart pointers.
Obviously these won't be part of the final patch. This is just an easy way to figure out which methods are important (both for me and the pass).
In Swift, there's a @_semantics decorator that can be applied to functions so the compiler can apply specific optimizations. Is there anything like that in clang? If not, would something like that be welcome and/or possible? If so, I'm happy to implement it.