[llvm] [SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (PR #72679)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 11 01:10:01 PST 2024
mstorsjo wrote:
This triggers failed asserts:
```c
char a[];
short *b;
int c, d, e, f;
void g() {
char *h;
for (;;) {
for (; f; ++f) {
h[f] = b[0] * a[e] + b[c] * a[1] >> 7;
++b;
}
h += d;
}
}
```
```console
$ clang -target x86_64-linux-gnu -c variance-preproc.c -O2
clang: ../lib/IR/Instructions.cpp:3335: static llvm::CastInst* llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, const llvm::Twine&, llvm::Instruction*): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.
```
This comes up in compiling libvpx and openh264.
I'll push a revert soon.
https://github.com/llvm/llvm-project/pull/72679
More information about the llvm-commits
mailing list