[llvm] [instcombine] Scalarize operands of vector geps if possible (PR #145402)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 24 12:22:03 PDT 2025
preames wrote:
Hm, I'm now wondering if this patch is a good idea. I went to do an obvious follow up - matching "insetelt poison, V, 0" in getSplatValue - and started seeing a bunch of regressions in tests. Digging into it, it seems to come from two sources, one fixable, one hard. The first is that we have a bunch of combines which don't look through splats, even when they easily could. The second is the demanded lane piece I'd mentioned in the original review.
The demanded bits one is quite tricky to resolve, with the scalarization we don't have anywhere to record which lanes are poison. There's also a bunch of concerning comments in the inference code about a partially completed undef to poison transition which seemed like a ball of twine to deal with.
I'm tempted to leave this in, and see if we get any reports of actual regressions on non-contrived cases. Anyone disagree?
https://github.com/llvm/llvm-project/pull/145402
More information about the llvm-commits
mailing list