Skip to content

LoadStoreVectorizer.cpp:221: [...] Assertion `IM != I && "Unexpected cycle while re-ordering instructions"' failed. #147041

Open
@mikaelholmen

Description

@mikaelholmen

llvm commit: 0437895
Reproduce with:
opt -passes=load-store-vectorizer -mtriple=s390x-unknown-linux bbi-108574_2.ll -o /dev/null
Result:

opt: ../lib/Transforms/Vectorize/LoadStoreVectorizer.cpp:221: void (anonymous namespace)::reorder(Instruction *): Assertion `IM != I && "Unexpected cycle while re-ordering instructions"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: build-all/bin/opt -passes=load-store-vectorizer -mtriple=s390x-unknown-linux bbi-108574_2.ll -o /dev/null
1.	Running pass "function(load-store-vectorizer)" on module "bbi-108574_2.ll"
2.	Running pass "load-store-vectorizer" on function "func_1"
 #0 0x000055e97bd23d76 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x46e1d76)
 #1 0x000055e97bd21305 llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x46df305)
 #2 0x000055e97bd24bc9 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007f99f6ba6d10 __restore_rt (/lib64/libpthread.so.0+0x12d10)
 #4 0x00007f99f454652f raise (/lib64/libc.so.6+0x4e52f)
 #5 0x00007f99f4519e65 abort (/lib64/libc.so.6+0x21e65)
 #6 0x00007f99f4519d39 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21d39)
 #7 0x00007f99f453ee86 (/lib64/libc.so.6+0x46e86)
 #8 0x000055e97c8c62c7 (anonymous namespace)::Vectorizer::runOnChain(llvm::SmallVector<(anonymous namespace)::ChainElem, 1u>&) LoadStoreVectorizer.cpp:0:0
 #9 0x000055e97c8c066b (anonymous namespace)::Vectorizer::runOnPseudoBB(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, false>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, false>) LoadStoreVectorizer.cpp:0:0
#10 0x000055e97c8bc831 (anonymous namespace)::Vectorizer::run() LoadStoreVectorizer.cpp:0:0
#11 0x000055e97c8bc1f2 llvm::LoadStoreVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x527a1f2)
#12 0x000055e97da7095d llvm::detail::PassModel<llvm::Function, llvm::LoadStoreVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilder.cpp:0:0
#13 0x000055e97bf5a135 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x4918135)
#14 0x000055e97d1ef8ad llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
#15 0x000055e97bf5ecce llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x491ccce)
#16 0x000055e97d1eb8cd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) PassBuilderPipelines.cpp:0:0
#17 0x000055e97bf58e55 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x4916e55)
#18 0x000055e97d177f0c llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (build-all/bin/opt+0x5b35f0c)
#19 0x000055e97bce5bf7 optMain (build-all/bin/opt+0x46a3bf7)
#20 0x00007f99f45327e5 __libc_start_main (/lib64/libc.so.6+0x3a7e5)
#21 0x000055e97bce36ee _start (build-all/bin/opt+0x46a16ee)
Abort (core dumped)

There is already #37865 about a hang in LSV, not sure if it's the same root problem here or not.

bbi-108574_2.ll.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashPrefer [crash-on-valid] or [crash-on-invalid]vectorizers

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions