Commits

John McCall committed e7b9ae47fa2
Defer to the value witness when moving an archetype. This is really a deficiency in TypeInfo::initializeWithTake, which is now virtual and not implemented in TypeInfo anymore. This fixes rdar://problem/12153619. While I'm at it, fix an inefficiency in how we were handling ignored results of generic calls, and add 4 new builtins: Builtin.strideof is like sizeof, but guarantees that it returns a multiple of the alignment (i.e., like C sizeof, it is the appropriate allocation size for members of an array). Builtin.destroy destroys something "in place"; previously this was being simulated by moving and ignoring the result. Builtin.allocRaw allocates raw, uninitialized memory, given a size and alignment. Builtin.deallocRaw deallocates a pointer allocated with Builtin.allocRaw; it must be given the allocated size. Swift SVN r2720