[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