[llvm] [VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (PR #149706)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 22 11:14:38 PDT 2025
alexey-bataev wrote:
Another reproducer:
```
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define void @test(ptr %0, ptr %1, i64 %2) {
.lr.ph15:
br label %.lr.ph
.lr.ph: ; preds = %10, %.lr.ph15
br label %.lr.ph.split.us
.lr.ph.split.us: ; preds = %10, %.lr.ph
%indvars.iv21 = phi i64 [ %indvars.iv.next22, %10 ], [ 0, %.lr.ph ]
%sext = shl i64 %indvars.iv21, 32
%3 = ashr i64 %sext, 28
%4 = getelementptr i8, ptr %1, i64 %3
store double 0x7FF8000000000000, ptr %4, align 8
%5 = getelementptr i8, ptr %4, i64 8
store double 0x7FF8000000000000, ptr %5, align 8
%6 = getelementptr i32, ptr %0, i64 %indvars.iv21
%7 = load i32, ptr %6, align 4
%8 = icmp eq i32 %7, 0
br i1 %8, label %9, label %10
9: ; preds = %.lr.ph.split.us
store double 0.000000e+00, ptr null, align 8
br label %10
10: ; preds = %9, %.lr.ph.split.us
%indvars.iv.next22 = add i64 %indvars.iv21, 1
%exitcond24.not = icmp eq i64 %indvars.iv21, %2
br i1 %exitcond24.not, label %.lr.ph, label %.lr.ph.split.us
}
```
@fhahn
https://github.com/llvm/llvm-project/pull/149706
More information about the llvm-commits
mailing list