[llvm] Reland: [LV]: Teach LV to recursively (de)interleave. (PR #122989)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 20 07:10:29 PST 2025


david-arm wrote:

> Hello, It seems that this patch broke sve vls bots: https://lab.llvm.org/buildbot/#/builders/143/builds/4795 https://lab.llvm.org/buildbot/#/builders/4/builds/4602 Could you please look at this ?

This looks like the loop vectoriser cost model assert firing. FYI @fhahn.

```
clang: /home/tcwg-buildbot/worker/clang-aarch64-sve-vls-2stage/llvm/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7644: VectorizationFactor llvm::LoopVectorizationPlanner::computeBestVF(): Assertion `(BestFactor.Width == LegacyVF.Width || planContainsAdditionalSimplifications(getPlanFor(BestFactor.Width), CostCtx, OrigLoop) || planContainsAdditionalSimplifications(getPlanFor(LegacyVF.Width), CostCtx, OrigLoop)) && " VPlan cost model and legacy cost model disagreed"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
```

It's only a bug when building with asserts and just indicates the legacy and new vplan cost models do not agree. I guess this is another example that needs adding to `planContainsAdditionalSimplifications` or something like that?

https://github.com/llvm/llvm-project/pull/122989


More information about the llvm-commits mailing list