sebpop wrote:

> I suspect we want to do something with llvm.assume, or something like that, 
> not use a select.

No.
`assume` is used as "optimization hint".
`undef` is used as "semantic undefined load".
See https://llvm.org/docs/UndefinedBehavior.html#undef-values

> Undef values are deprecated and should be used only when strictly necessary. 
> Uses of undef values should be restricted to representing loads of 
> uninitialized memory. This is the only part of the IR semantics that cannot 
> be replaced with alternatives yet (work in ongoing).

ISEL discards `undef` and `assume`, which brings the code to the back-ends with 
no `select`, see llc pipeline in https://godbolt.org/z/MPdz4qYvW

https://github.com/llvm/llvm-project/pull/159046
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to