[PATCH] D115750: [SLP]Further improvement of the cost model for scalars used in buildvectors.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 8 09:56:19 PDT 2022


RKSimon added a comment.

repro:

  ; ModuleID = 'bugpoint-reduced-simplified.bc'
  source_filename = "fuzz.ll"
  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-unknown-linux-gnu"
  
  define dso_local void @b() local_unnamed_addr #0 {
  entry:
    %mul = fmul float undef, 2.000000e+00
    %i = tail call float @llvm.fmuladd.f32(float %mul, float 0.000000e+00, float 0.000000e+00)
    %mul2 = fmul float undef, %i
    %add = fadd float undef, 1.000000e+00
    %neg = fneg float %add
    %i1 = tail call float @llvm.fmuladd.f32(float %neg, float 0.000000e+00, float 0.000000e+00)
    %mul4 = fmul float undef, %i1
    %neg7 = fneg float %mul
    %i2 = tail call float @llvm.fmuladd.f32(float %neg7, float 0.000000e+00, float 0.000000e+00)
    %mul8 = fmul float undef, %i2
    %i3 = tail call float @llvm.fmuladd.f32(float %add, float 0.000000e+00, float 0.000000e+00)
    %mul11 = fmul float %i3, 2.000000e+00
    %div = fdiv float %mul2, 0.000000e+00
    store float %div, ptr undef, align 4
    %div12 = fdiv float %mul4, 0.000000e+00
    %arrayidx13 = getelementptr inbounds float, ptr undef, i64 1
    store float %div12, ptr %arrayidx13, align 4
    %div14 = fdiv float %mul8, 0.000000e+00
    %arrayidx15 = getelementptr inbounds float, ptr undef, i64 2
    store float %div14, ptr %arrayidx15, align 4
    %div16 = fdiv float %mul11, 0.000000e+00
    %arrayidx17 = getelementptr inbounds float, ptr undef, i64 3
    store float %div16, ptr %arrayidx17, align 4
    ret void
  }
  
  ; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn
  declare float @llvm.fmuladd.f32(float, float, float) #1
  
  attributes #0 = { "tune-cpu"="generic" }
  attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115750/new/

https://reviews.llvm.org/D115750



More information about the llvm-commits mailing list