diff options
| author | Martin Storsjö <martin@martin.st> | 2024-01-11 11:56:17 +0200 |
|---|---|---|
| committer | Martin Storsjö <martin@martin.st> | 2024-01-11 12:15:35 +0200 |
| commit | 1de3f46938d70997cda5bcba17cbdbe166d4f269 (patch) | |
| tree | c5d8ce62ebb7f9394866ae39df097a941d7d5367 /clang/lib/CodeGen/CodeGenModule.cpp | |
| parent | 1ee93ac0991d5150ed5b21624e691da43b349612 (diff) | |
Revert "[SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)"
This reverts commit 408dce82016463dcb5026b2ddfc62174970a88e9.
This triggered failed asserts with code like this:
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;
}
}
Compiled like this:
$ clang -target x86_64-linux-gnu -c repro.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.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
