[llvm] [VPlan] Compute cost of more replicating loads/stores in ::computeCost. (PR #160053)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 3 06:45:42 PDT 2025


alexey-bataev wrote:

```
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 double @pspw_q_e_(ptr %0, ptr %1, ptr %2) {
.lr.ph218.preheader:
  br label %.lr.ph221

.lr.ph221:                                        ; preds = %3, %.lr.ph218.preheader
  %.lcssa225226 = phi double [ 0.000000e+00, %.lr.ph218.preheader ], [ %21, %3 ]
  br label %3

3:                                                ; preds = %3, %.lr.ph221
  %4 = phi i64 [ 0, %.lr.ph221 ], [ %22, %3 ]
  %5 = phi double [ %.lcssa225226, %.lr.ph221 ], [ %15, %3 ]
  %6 = add i64 %4, 1
  %7 = getelementptr i8, ptr %2, i64 %6
  %8 = getelementptr i64, ptr %0, i64 %6
  %9 = load i64, ptr %8, align 8
  %10 = getelementptr double, ptr %1, i64 %9
  %11 = load double, ptr %0, align 8
  %12 = fadd double %11, 0.000000e+00
  %13 = getelementptr i8, ptr %7, i64 8
  %14 = load double, ptr %13, align 8
  %15 = fmul double %12, 0.000000e+00
  %16 = fmul double %14, 0.000000e+00
  %17 = fadd double %16, 0.000000e+00
  %18 = fadd double %17, 1.000000e+00
  %19 = load double, ptr %10, align 8
  %20 = fdiv double %19, %18
  %21 = fsub double %5, %20
  %22 = add i64 %4, 1
  %exitcond253.not = icmp eq i64 %4, 1
  br i1 %exitcond253.not, label %.lr.ph221, label %3
}

```

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


More information about the llvm-commits mailing list