[llvm] [SLP]Support for zext i1 %x modeling as select %x, 1, 0 (PR #180635)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 11 01:39:38 PST 2026
mstorsjo wrote:
I'm hitting asserts after this change. Reduced repro:
```c
struct {
long a;
long b
} *c;
long d, e, f;
int g;
void h() {
long a = 2;
g = d == 0;
a -= g;
long b = g;
if (e)
;
else
g = a -= b += f;
c[0].a = a;
c[0].b = b;
}
```
```console
$ clang -target aarch64-w64-mingw32 -c repro.c -O2
clang: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:2690: int llvm::slpvectorizer::BoUpSLP::LookAheadHeuristics::getScoreAtLevelRec(llvm::Value*, llvm::Value*, llvm::Instruction*, llvm::Instruction*, int, llvm::ArrayRef<llvm::Value*>) const: Assertion `FromIdx <= ToIdx && "Bad index"' failed.
```
https://github.com/llvm/llvm-project/pull/180635
More information about the llvm-commits
mailing list