[llvm] [VPlan] Add ReductionStartVector VPInstruction. (PR #142290)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 18 19:33:24 PDT 2025


asmok-g wrote:

@fhahn The repro I got is
```
char *ComputeVariances_input_map;
int ComputeVariances_block_size, ComputeVariances_acc;
void ComputeVariances() {
  for (;;)
    for (int bj; bj < ComputeVariances_block_size; ++bj)
      ComputeVariances_acc +=
          ComputeVariances_input_map[bj] * ComputeVariances_input_map[bj];
}
```
cmd: `clang  -O2   '--target=aarch64-grtev4-linux-gnu'  '-mcpu=neoverse-n1' '-std=gnu++20'  pre.ii -emit-llvm -S`
diff:
```
@@ -54,7 +54,7 @@
 31:                                               ; preds = %31, %27
   %32 = phi i64 [ 0, %27 ], [ %45, %31 ]
   %33 = phi <4 x i32> [ %29, %27 ], [ %43, %31 ]
-  %34 = phi <4 x i32> [ zeroinitializer, %27 ], [ %44, %31 ]
+  %34 = phi <4 x i32> [ %29, %27 ], [ %44, %31 ]
   %35 = getelementptr i8, ptr %30, i64 %32
   %36 = getelementptr inbounds nuw i8, ptr %35, i64 16
   %37 = load <16 x i8>, ptr %35, align 1, !tbaa !10, !alias.scope !11
```

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


More information about the llvm-commits mailing list