[PATCH] D117951: [SLP] Optimize reschedule of previously scheduled bundle member [NFC]
Alexey Bataev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 3 10:11:28 PST 2022
ABataev added a comment.
In D117951#3294099 <https://reviews.llvm.org/D117951#3294099>, @reames wrote:
> In D117951#3293958 <https://reviews.llvm.org/D117951#3293958>, @ABataev wrote:
>
>> Currently this patch crashes the compiler for SPECCPU2006:
>
> I don't have a copy of SPEC2006, can you provide a preprocessed source file or IR file? The stack trace is not enough to guess the cause.
define void @test() {
for.end580:
br i1 false, label %for.body602.preheader, label %for.cond794.preheader
for.body602.preheader: ; preds = %for.end580
br label %for.body602
for.cond794.preheader: ; preds = %for.body602, %for.end580
%fullElectEnergy.1.lcssa = phi double [ 0.000000e+00, %for.end580 ], [ %10, %for.body602 ]
%electEnergy.1.lcssa = phi double [ 0.000000e+00, %for.end580 ], [ %3, %for.body602 ]
ret void
for.body602: ; preds = %for.body602, %for.body602.preheader
%mul701 = fmul double 0.000000e+00, 0.000000e+00
%mul703 = fmul double 0.000000e+00, 0.000000e+00
%0 = call double @llvm.fmuladd.f64(double 0.000000e+00, double 0.000000e+00, double %mul701)
%1 = call double @llvm.fmuladd.f64(double %0, double 0.000000e+00, double %mul703)
%2 = call double @llvm.fmuladd.f64(double %1, double 0.000000e+00, double 0.000000e+00)
%3 = call double @llvm.fmuladd.f64(double 0.000000e+00, double %2, double 0.000000e+00)
%4 = call double @llvm.fmuladd.f64(double %mul701, double 0.000000e+00, double %mul703)
store double %4, double* null, align 8
%5 = load double, double* null, align 8
%6 = load double, double* null, align 8
%mul746 = fmul double 0.000000e+00, %6
%mul747 = fmul double 0.000000e+00, %5
%7 = call double @llvm.fmuladd.f64(double 0.000000e+00, double 0.000000e+00, double %mul746)
%8 = call double @llvm.fmuladd.f64(double %7, double 0.000000e+00, double %mul747)
%9 = call double @llvm.fmuladd.f64(double %8, double 0.000000e+00, double 0.000000e+00)
%10 = call double @llvm.fmuladd.f64(double 0.000000e+00, double %9, double 0.000000e+00)
br i1 false, label %for.cond794.preheader, label %for.body602
}
declare double @llvm.fmuladd.f64(double, double, double)
opt -slp-vectorizer -S -o - ./repro.ll
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117951/new/
https://reviews.llvm.org/D117951
More information about the llvm-commits
mailing list