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

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 07:34:03 PDT 2020


lebedev.ri added a comment.

In D83101#2136101 <https://reviews.llvm.org/D83101#2136101>, @bjope wrote:

> In D83101#2136062 <https://reviews.llvm.org/D83101#2136062>, @lebedev.ri wrote:
>
> > In D83101#2135962 <https://reviews.llvm.org/D83101#2135962>, @lebedev.ri wrote:
> >
> > > In D83101#2135945 <https://reviews.llvm.org/D83101#2135945>, @bjope wrote:
> > >
> > > > 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
> > > >   
> > >
> > >
> > > Acknowledged, looking.
> >
> >
> > Hm, this is saddening. I've fixed it in rG16266e63963ad6ee27ad21983a9366ab313dfd03 <https://reviews.llvm.org/rG16266e63963ad6ee27ad21983a9366ab313dfd03>, but are there more?
>
>
> Ah, maybe I was so occupied reducing the fault so I missed that there was another fix.  I actually did take a look in github just to avoid reporting a problem that had been fixed, but must have done it just before rG16266e63963ad6ee27ad21983a9366ab313dfd03 <https://reviews.llvm.org/rG16266e63963ad6ee27ad21983a9366ab313dfd03> landed.


Nono, rG16266e63963ad6ee27ad21983a9366ab313dfd03 <https://reviews.llvm.org/rG16266e63963ad6ee27ad21983a9366ab313dfd03> is the fix as a reaction to the bug you reported, your report wasn't a duplicate, sorry for confusion.

> I'll fetch, rebuild, and test. Let you know if it didn't help.

Yes, please, thank you!


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