[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 06:41:10 PDT 2020
lebedev.ri added a comment.
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.
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