[clang][CodeGen] Handle throw expression in conditional operator constant folding
We're smart and do constant folding when emitting conditional operators.
Thus we emit the live value as a lvalue. This doesn't work if the live value is a throw expression.
Handle this by emitting the throw and returning the dead value as the lvalue.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D77502