-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]vectorizers
Description
Compiling this:
char a, b;
char *c;
void d(bool e) {
for (;;)
for (int f; f < 2; f += e) {
a = c[f];
b += !f ?: e;
}
}
with clang -O2 -mcpu=grace
results in a crash with this backtrace:
#4 0x0000000005837d75 llvm::VPPartialReductionRecipe::computeCost(llvm::ElementCount, llvm::VPCostContext&) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5837d75)
#5 0x0000000005841f46 llvm::VPRecipeBase::cost(llvm::ElementCount, llvm::VPCostContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5841f46)
#6 0x0000000005807b57 llvm::VPBasicBlock::cost(llvm::ElementCount, llvm::VPCostContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x5807b57)
#7 0x000000000580e888 llvm::VPRegionBlock::cost(llvm::ElementCount, llvm::VPCostContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x580e888)
#8 0x000000000580f70d llvm::VPlan::cost(llvm::ElementCount, llvm::VPCostContext&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x580f70d)
#9 0x00000000056bdbda llvm::LoopVectorizationPlanner::cost(llvm::VPlan&, llvm::ElementCount) const (/opt/compiler-explorer/clang-trunk/bin/clang+++0x56bdbda)
#10 0x00000000056c443a llvm::LoopVectorizationPlanner::computeBestVF() (.part.0) LoopVectorize.cpp:0:0
#11 0x00000000056c537a llvm::LoopVectorizationPlanner::computeBestVF() (/opt/compiler-explorer/clang-trunk/bin/clang+++0x56c537a)
#12 0x00000000056ccee7 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x56ccee7)
See also: https://godbolt.org/z/njcnr58a4
Metadata
Metadata
Assignees
Labels
crashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]vectorizers