[PATCH] D119661: [LV] Support chained phis as incoming values for first-order recurs.
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 23 10:09:51 PDT 2022
aeubanks added a comment.
$ cat /tmp/c.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-grtev4-linux-gnu"
define void @gen_interp(ptr %0) {
br label %2
2: ; preds = %2, %1
%3 = phi double [ %9, %2 ], [ 0.000000e+00, %1 ]
%4 = phi double [ %11, %2 ], [ 0.000000e+00, %1 ]
%5 = phi double [ %4, %2 ], [ 0.000000e+00, %1 ]
%6 = phi i64 [ %10, %2 ], [ 0, %1 ]
%7 = fdiv double %5, %3
%8 = fdiv double 0.000000e+00, %3
%9 = load double, ptr null, align 8
%10 = add nuw nsw i64 %6, 1
%11 = load double, ptr null, align 8
store double %8, ptr %0, align 8
%12 = icmp eq i64 %10, 0
br i1 %12, label %13, label %2
13: ; preds = %2
ret void
}
$ ./build/rel/bin/opt -passes='loop-vectorize' -disable-output /tmp/c.ll
Use before def!
opt: ../../llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:9136: VPlanPtr llvm::LoopVectorizationPlanner::buildVPlanWithVPRecipes(VFRange &, SmallPtrSetImpl<Instruction *> &, const MapVector<Inst
ruction *, Instruction *> &): Assertion `VPlanVerifier::verifyPlanIsValid(*Plan) && "VPlan is invalid"' failed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119661/new/
https://reviews.llvm.org/D119661
More information about the llvm-commits
mailing list