Issue 162902
Summary [LV] Crash in VPPartialReductionRecipe::computeCost
Labels vectorizers
Assignees
Reporter sjoerdmeijer
    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

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to