Commits

Arnold Schwaighofer committed fc96c2e53db
Teach escape analysis about the semantics of copy_addr instructions If the copy_addr cannot release the destination then it behaves just like a load followed by a store. This allows us to stack promote protocol typed array literals. protocol Proto { func at() -> Int } func testStackAllocation(p: Proto) { var a = [p, p, p] for e in a { print(e.at()) } }