[PATCH] D115750: [SLP]Further improvement of the cost model for scalars used in buildvectors.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 9 13:18:25 PDT 2022


ABataev added a comment.

In D115750#3501807 <https://reviews.llvm.org/D115750#3501807>, @aeubanks wrote:

> another issue that repros at head
>
>   $ cat /tmp/a.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-unknown-linux-gnu"
>   
>   define internal void @0() {
>     br label %1
>   
>   1:                                                ; preds = %1, %0
>     %2 = fadd float 0.000000e+00, 0.000000e+00
>     %3 = fadd float 0.000000e+00, 0.000000e+00
>     %4 = insertelement <2 x float> zeroinitializer, float %2, i64 0
>     %5 = insertelement <2 x float> %4, float %3, i64 1
>     %6 = insertelement <2 x float> %5, float %2, i64 0
>     br label %1
>   }
>   $ ./build/rel/bin/opt -passes=slp-vectorizer -disable-output /tmp/a.ll
>   opt: ../../llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:6500: llvm::InstructionCost llvm::slpvectorizer::BoUpSLP::getTreeCost(ArrayRef<llvm::Value *>): Assertion `Mask[InIdx] == UndefMaskElem && "InsertElementInstruction used already."' failed.
>
> (I did see a different instance of this crash get fixed with some other commit but this one still remains)

Yes, have a fix for this issue already, need to relax an assert, will commit in couple minutes


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115750/new/

https://reviews.llvm.org/D115750



More information about the llvm-commits mailing list