[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