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

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 9 13:17:01 PDT 2022


aeubanks added a comment.

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)


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