This patch fixes a bug in IRGen where it wasn't calling the destructors to destruct compound literals.
I've split out the changes needed to emit destructor calls for non-trivial C structs returned by function calls and loaded from volatile objects (https://reviews.llvm.org/D66094).
rdar://problem/51867864
Might be worth spelling out and block-scoped compound literals here.