[llvm] [LV]Enable max safe distance in predicated DataWithEVL vectorization mode. (PR #100755)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 12 05:01:07 PDT 2024


================
@@ -140,11 +140,11 @@ define void @neg_dist_dep_type_size_equivalence(ptr nocapture %vec, i64 %n) {
 ; CHECK-NEXT:            %ld.i64 = load i64, ptr %gep.iv, align 8 ->
 ; CHECK-NEXT:            store i32 %ld.i64.i32, ptr %gep.iv.n.i64, align 8
 ; CHECK-EMPTY:
-; CHECK-NEXT:        BackwardVectorizableButPreventsForwarding:
+; CHECK-NEXT:        BackwardVectorizable:
----------------
alexey-bataev wrote:

This is unfortunate but true. The problem is that the compiler could decide during loop access analysis, that if distance is not power of 2, the loop cannot be vectorized. With this patch, we cannot do this anymore, we do not know how the loop is going to be vectorized, using power-of-2 fixed vector length or scalable vectorization with non-power-of-2 support.

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


More information about the llvm-commits mailing list