[PATCH] D78847: [LV] Fix recording of BranchTakenCount for FoldTail
Anh Tuyen Tran via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 11 06:56:49 PDT 2020
anhtuyen added a comment.
In D78847#2028930 <https://reviews.llvm.org/D78847#2028930>, @Ayal wrote:
> In D78847#2028853 <https://reviews.llvm.org/D78847#2028853>, @anhtuyen wrote:
>
> >
>
>
> [snip]
>
> > Below is an example to demonstrate that **setting VTCMO to TCMO when State->VF == 1** will not help in the case of a loop of VF 1 having a vector loop-bound.
>
> [snip]
>
> > In this case, the operand[0] (which is %vec.iv) has type <1 x i64>. The loop-bound, however, will get the type as **i64** instead of the expected **<i64 2305843009213693951>** .
>
> Right, VPWidenCanonicalIVRecipe::execute() also needs to treat VF==1 differently.
I looked at that, too. It still gives us the assert at a different location. We will need a little more work to do.
opt -loop-vectorize -force-vector-interleave=4 -S simple2.ll
opt: llvm-project/llvm/lib/IR/Instructions.cpp:2446: static llvm::BinaryOperator *llvm::BinaryOperator::Create(llvm::Instruction::BinaryOps, llvm::Value *, llvm::Value *, const llvm::Twine &, llvm::Instruction *): Assertion `S1->getType() == S2->getType() && "Cannot create binary operator with two operands of differing type!"' failed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78847/new/
https://reviews.llvm.org/D78847
More information about the llvm-commits
mailing list