PATCH: do ?: lowering to selects less wrong

Rafael EspĂ­ndola rafael.espindola at
Tue Nov 5 17:30:38 PST 2013

The test passes even with the code change reverted.

On 5 November 2013 16:54, Nick Lewycky <nlewycky at> wrote:
> When lowering "cond ? X : Y" we do some safety checks to see whether we can
> instead emit both X and Y and use a llvm select instruction to choose
> between them. This code is insufficiently safe, and introducing loads into a
> program that didn't load is a bad idea. For example, it could be TLS. It
> could be a non-volatile auto in another function that isn't the current
> function (think lambdas).
> Don't do this here. LLVM knows how to do this properly.
> Patch attached, please review!
> Nick
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at

More information about the cfe-commits mailing list