[PATCH] D144958: [SLP]Initial support for reshuffling of non-starting buildvector/gather nodes.
Bogdan Graur via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 10 06:12:15 PST 2023
bgraur added a comment.
We've found another clang crasher caused by this change.
repro.c:
double a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0;
void n() {
double k, l, m = g = h = j = e;
k = e * e;
l = 0.3e1 * k - e + e - k - g + 0.7e1 * e * 0 * h - i + 0.6e1 * e * 0 * j;
m = 0 * e + 0.68e2 * e * 0 * e - a + 0.57e2 * e * 0 * b - e +
0.2e1 * e * 0 * e;
c = f ? d + l + m : 0;
}
Compilation command:
clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj \
-O2 -vectorize-slp \
-x c repro.c \
-o /tmp/obj
Output:
Invalid shufflevector operands!
%11 = shufflevector <2 x double> %5, PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -O2 -vectorize-slp -x c repro.c -o /tmp/obj
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'repro.c'.
4. Running pass 'Module Verifier' on function '@n'
Segmentation fault
Thanks @hans for the prompt revert!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144958/new/
https://reviews.llvm.org/D144958
More information about the llvm-commits
mailing list