[PATCH] D83101: [Scalarizer] ExtractElement handling w/ constant extract index

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 06:32:11 PDT 2020


bjope added a comment.

I unfortunately still see some problems (related to the Scalarizer changes, and probably this patch):

  > cat scalarizer-bug.ll
  ; RUN: opt < %s -scalarizer -S -o -
  
  define void @foo() {
  vector.ph:
    br label %vector.body115
  
  vector.body115:                                   ; preds = %vector.body115, %vector.ph
    %vector.recur = phi <4 x i16> [ undef, %vector.ph ], [ %wide.load125, %vector.body115 ]
    %wide.load125 = load <4 x i16>, <4 x i16>* undef, align 1
    br i1 undef, label %middle.block113, label %vector.body115
  
  middle.block113:                                  ; preds = %vector.body115
    ret void
  }
  
  
  -----------------------------------------------------
  
  > ~/opt.master -scalarizer scalarizer-bug.ll -S
  opt.master: ../lib/IR/Value.cpp:458: void llvm::Value::doRAUW(llvm::Value *, llvm::Value::ReplaceMetadataUses): Assertion `!contains(New, this) && "this->replaceAllUsesWith(expr(this)) is NOT valid!"' failed.
  PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
  Stack dump:
  0.      Program arguments: /home/uabbpet/opt.master -scalarizer scalarizer-bug.ll -S 
  1.      Running pass 'Function Pass Manager' on module 'scalarizer-bug.ll'.
  2.      Running pass 'Scalarize vector operations' on function '@foo'
  Abort




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83101





More information about the llvm-commits mailing list