Commits

Chris Lattner committed fd69300bdf2
rework lowering of 'self' in class init methods to use normal cleanups and variable emission instead of hand coded magic. Eliminating special cases allows simplifying other parts of the compiler, and this probably helps the error handling initiative as well. This uses the (horrible) new null_class instruction to properly model rebinding of self. The code that SILGen was producing before was wildly incorrect and we only got lucky that it seemed to work in most cases before. NFC except that SILGen tests see the new null_class instructions, and we get better location info for 'return nil' for obscure reasons that don't really matter. Swift SVN r27530