Commits

Chris Lattner committed 7beb6d52deb
Extend SILGen's emitEpilog() to work with epilog blocks that are already set up, allowing clients to generate code before the top-level cleanup stack is emitted. Use this to switch value constructors onto emitEpilog() and, more importantly, to start managing the self box as a normal local variable tracked with cleanups instead of being tracked with ad-hoc code spread through SILGen. Among other things, once classes are switched over to the same model, we can remove SGF.FailSelfDecl and the code to support it. NFC. Swift SVN r27472