Commits
Joe Groff committed 5c52579cf15
IRGen: When an enum has all refcounted payloads, emit mask-and-retain/release. We can copy and destroy enum values where all of the payloads are references by just masking out the tag bits and handing the pointer to swift_retain/swift_release, instead of creating a diamond. This could be generalized to aggregate payloads that all have refcounted pointers in the same place, and to mixed ObjC/Swift refcounted pointers, but this covers the "easy" case we can do with the layout info IRGen already tracks. Swift SVN r12405