Skip to content

VectorCombine crash in VectorCombine::foldSelectShuffle #157401

@mikaelholmen

Description

@mikaelholmen

llvm commit: 6a571a1
Reproduce with: https://godbolt.org/z/x963br1Wd

opt -passes=vector-combine bbi-110327.ll -o /dev/null

Result:

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.	Program arguments: build-all/bin/opt -passes=vector-combine bbi-110327.ll -o /dev/null
1.	Running pass "function(vector-combine)" on module "bbi-110327.ll"
2.	Running pass "vector-combine" on function "main"
 #0 0x00005593d310e097 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x4d4a097)
 #1 0x00005593d310b655 llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x4d47655)
 #2 0x00005593d310f13a SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007f56a51dd990 __restore_rt (/lib64/libpthread.so.0+0x12990)
 #4 0x00005593d491b2fa (anonymous namespace)::VectorCombine::foldSelectShuffle(llvm::Instruction&, bool)::$_28::operator()(llvm::InstructionCost, llvm::ArrayRef<int>) const VectorCombine.cpp:0:0
 #5 0x00005593d490685e (anonymous namespace)::VectorCombine::foldSelectShuffle(llvm::Instruction&, bool) VectorCombine.cpp:0:0
 #6 0x00005593d48fcdd2 (anonymous namespace)::VectorCombine::run()::$_30::operator()(llvm::Instruction&) const VectorCombine.cpp:0:0
 #7 0x00005593d48f93c1 llvm::VectorCombinePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x65353c1)
 #8 0x00005593d455344d llvm::detail::PassModel<llvm::Function, llvm::VectorCombinePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
 #9 0x00005593d3319daa llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x4f55daa)
#10 0x00005593d455481d 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
#11 0x00005593d331e591 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x4f5a591)
#12 0x00005593d44fe85d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) NewPMDriver.cpp:0:0
#13 0x00005593d3318ada llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x4f54ada)
#14 0x00005593d44f775b 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, bool) (build-all/bin/opt+0x613375b)
#15 0x00005593d30b20df optMain (build-all/bin/opt+0x4cee0df)
#16 0x00007f56a42717e5 __libc_start_main (/lib64/libc.so.6+0x3a7e5)
#17 0x00005593d30abbae _start (build-all/bin/opt+0x4ce7bae)
Floating exception (core dumped)

bbi-110327.ll.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashPrefer [crash-on-valid] or [crash-on-invalid]llvm::vectorcombineCost-based vector combine pass

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions