Commits

Chris Lattner committed 32f529f1db8
Split arc-optimizer into two passes: arc-optimize and arc-expand. This makes the two phases independently testable, but is also the right thing to do: previously we'd form swift_retain early enough that inlining would inline them from previously optimized callees into callers, and this would block some mid-level optimizations from doing nice things (because swift_retain isn't no-escape). It's a small thing, but doing this allows us to eliminate a few more "and x, 9223372036854775807"'s from the stdlib. We also end up doing a lot less optimizations because we do them early instead of only having the optimizations exposed after inlining deeply. Swift SVN r2114