Fix IRGen for passing transparent unions

We have had a test for this for a long time with a FIXME saying what we
should be doing. This just does it.

Fixes PR21573.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@222074 91177308-0d34-0410-b5e6-96231b3b80d8