llvm-project
b1d5d7e3 - [VPlan] Don't use the legacy cost model for loop conditions (#156864)

Commit
6 days ago
[VPlan] Don't use the legacy cost model for loop conditions (#156864) The current behaviour of using the legacy cost model for instructions that compute the loop exit condition gets the wrong result when the loop has been transformed to use a different exit condition, e.g. when have tail-folded predicated vectorization the exit condition is based on the predicate vector. Fix this by adding cost computation for BranchOnCount and removing the restriction on computing the cost for scalar ICmp/FCmp, and removing the use of the legacy cost model for loop exit conditions. This causes quite a lot of changes to expected output in tests. Some of these are just changes to the -debug output, others are choosing a different VF due to previously over or under-estimating the cost, and in others the minimum trip count has changed as we now compute the cost for compares in the middle block.
Parents
Loading