[llvm] [WebAssembly] Fold constant `i8x16.swizzle` and `i8x16.relaxed.swizzle` to `shufflevector` (PR #169110)

via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 06:43:32 PST 2025


valadaptive wrote:

> * Given that the LangRef says that poison is "stronger than undef", and that it is correct to replace a poison value with undef but not vice versa, is it correct to optimize an undef mask element in the input to a poison element in the output?

I've concluded that this transformation *is* correct, based on [this Alive2 snippet](https://alive2.llvm.org/ce/z/meA_DR). The language reference could stand to be a bit clearer here, and I'll probably open a PR to clarify it.

Is there anything else needed on my end?

https://github.com/llvm/llvm-project/pull/169110


More information about the llvm-commits mailing list