llvm-project
97577081 - [LoopVectorize] Don't assert in getVectorCallCost for vector library variants (#202085)

Commit
53 days ago
[LoopVectorize] Don't assert in getVectorCallCost for vector library variants (#202085) During loop vectorization, `computePredInstDiscount` queries the cost of instructions at vector VF using `getInstructionCost`. A `CallInst` with a vector library variant delegates to `getVectorCallCost`, which asserted that such variants should not reach it. A predicated call can however reach `getVectorCallCost` via `computePredInstDiscount` — before its widening decision is made — when a predicated user (e.g. a scatter store) is being considered for scalarization. Remove the assert and fall through to the existing scalarization cost, which is the cost relevant to that analysis. Adds a regression test exercising that path.
Author
Parents
Loading