Commits

Chris Lattner committed e32922c3b3b
Implement two simple passes in the ARC optimizer: 1. First thing, canonicalize the input IR so that nothing uses the result of swift_retain, making it easier to reason about pointers. <nothing in between yet> 2. Last thing, optimize register pressure by making use of the return value of swift_retain where possible. #1 is a pessimization, but is fixed (optimally!) by #2. Our implementation of #2 is more powerful than the ObjC ARC optimizers corresponding stuff, because we insert PHI nodes etc in cases where there isn't a strictly dominating retain of a use. Ours is also much simpler :) Swift SVN r2030