[PATCH] D133891: [SLP]Improve isUndefVector function by adding insertelement analysis.

Steven Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 20 13:01:14 PDT 2022


srj added a comment.

Slightly more detailed traceback from a `RelWithDebInfo` build of LLVM:

  #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
  #1  0x00007ffff0adc546 in __GI_abort () at abort.c:79
  #2  0x00007ffff0b33ed8 in __libc_message (action=action at entry=do_abort, fmt=fmt at entry=0x7ffff0c51c2f "%s\n") at ../sysdeps/posix/libc_fatal.c:155
  #3  0x00007ffff0b3b93a in malloc_printerr (str=str at entry=0x7ffff0c540d0 "free(): invalid next size (fast)") at malloc.c:5628
  #4  0x00007ffff0b3cd94 in _int_free (av=0x7ffff0c88b80 <main_arena>, p=0x555555d65cb0, have_lock=have_lock at entry=0) at malloc.c:4481
  #5  0x00007ffff0b409d4 in __GI___libc_free (mem=<optimized out>) at malloc.c:3309
  #6  0x00007ffff3c2bed9 in llvm::SmallVector<int, 12u>::~SmallVector (this=0x7fffffff76a0, __in_chrg=<optimized out>)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/ADT/SmallVector.h:1187
  #7  llvm::slpvectorizer::BoUpSLP::vectorizeTree (this=0x7fffffff9290, E=0x555555e68ef0)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:8199
  #8  0x00007ffff3c34370 in llvm::slpvectorizer::BoUpSLP::vectorizeTree (this=0x7fffffff9290, ExternallyUsedValues=...)
      at /usr/include/c++/12/bits/unique_ptr.h:461
  #9  0x00007ffff3c36ae6 in llvm::slpvectorizer::BoUpSLP::vectorizeTree (this=<optimized out>)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:8610
  #10 0x00007ffff3c492b8 in llvm::SLPVectorizerPass::tryToVectorizeList (this=<optimized out>, VL=..., R=..., LimitForRegisterSize=false)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:10588
  #11 0x00007ffff3c4bce0 in llvm::SLPVectorizerPass::vectorizeInsertElementInst (this=0x555556603868, IEI=0x555555c76880, BB=<optimized out>, R=...)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/ADT/SmallVector.h:277
  #12 0x00007ffff3c4cb52 in llvm::SLPVectorizerPass::vectorizeSimpleInstructions (this=0x555556603868, Instructions=..., BB=0x555555edf5a0, R=..., 
      AtTerminator=<optimized out>) at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:12182
  #13 0x00007ffff3c4e35a in llvm::SLPVectorizerPass::vectorizeChainsInBlock (this=0x555556603868, BB=0x555555edf5a0, R=...)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/IR/Instruction.h:185
  #14 0x00007ffff3c50d7b in llvm::SLPVectorizerPass::runImpl (this=0x555556603868, F=..., SE_=<optimized out>, TTI_=<optimized out>, TLI_=<optimized out>, 
      AA_=<optimized out>, LI_=0x555555f4cb48, DT_=0x555555db9f08, AC_=0x5555565d52c8, DB_=0x555555ea20d8, ORE_=0x555555d9ed68)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:10233
  #15 0x00007ffff3c51db8 in llvm::SLPVectorizerPass::run (this=0x555556603868, F=..., AM=...)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:10164
  #16 0x00007ffff37641cd in llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (this=<optimized out>, IR=..., AM=...)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/IR/PassManagerInternal.h:86
  #17 0x00007ffff271bdd5 in llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (AM=..., IR=..., this=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:461
  #18 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (this=<optimized out>, IR=..., AM=...)
      at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/IR/PassManagerInternal.h:88
  #19 0x00007ffff4b17749 in llvm::ModuleToFunctionPassAdaptor::run (this=<optimized out>, M=..., AM=...) at /usr/include/c++/12/bits/unique_ptr.h:461
  #20 0x00007ffff18ebe35 in llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) () at /usr/local/google/home/srj/GitHub/llvm-project/16/llvm/include/llvm/MC/SubtargetFeature.h:121
  #21 0x00007ffff18e2f2c in Halide::Internal::CodeGen_LLVM::optimize_module() ()


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133891



More information about the llvm-commits mailing list