[llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 1) (PR #143102)
Björn Pettersson via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 20 11:09:48 PDT 2025
bjope wrote:
Ping!
Would be really nice to move forward with this patch somehow, to finally get back to fixing the miscompiles we saw in https://github.com/llvm/llvm-project/issues/138513 (which is where I started off 3-4 months ago).
I don't know if the remaining diffs are acceptable now?
The aarch/sve and riscv/rvv diffs can be resolved by using ISD::POISON instead of ISD::UNDEF in convertToScalableVector. We could perhaps do that as a follow-up (to get a motivating test case...).
The diff here https://github.com/llvm/llvm-project/pull/143102/files#diff-3f4fe0b0594906b6df9b5eef955cf7fbc242076e17787dbc845f2adc40ee8d8f is perhaps a bit unfortunate. But I don't have a good solution. However, the IR is not expected to look like that when entering llc, since instcombine would get rid of the insertelement instructions that insert undef. I think the situation was similar for the X86 (SpinningCube) test case that show a diff.
https://github.com/llvm/llvm-project/pull/143102
More information about the llvm-commits
mailing list