[PATCH] D119661: [LV] Support chained phis as incoming values for first-order recurs.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 26 03:34:50 PDT 2022
fhahn added a comment.
In D119661#3812135 <https://reviews.llvm.org/D119661#3812135>, @aeubanks wrote:
> $ 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.
Thanks, this should be fixed by D134083 <https://reviews.llvm.org/D134083>
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