[llvm] [SLP]Model gathers of extracted integer sub-fields as bitcast+permute+ext (PR #224919)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 27 06:15:40 PDT 2026


alexey-bataev wrote:

> working on getting smaller rerproducer
> 
> PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and dumped files. Stack dump:
> 
> 1. parser at end of file
> 2. Optimizer
> 3. Running pass "function(float2int,chr,loop(...),loop-distribute,inject-tli-mappings,loop-vectorize<...>,infer-alignment,loop-load-elim,instcombine<...>,simplifycfg<...>,slp-vectorizer,vector-combine,...)" on module ".../aten/src/ATen/native/hip/ReduceLogicKernel.hip"
> 4. Running pass "slp-vectorizer" on function "_ZN2at6native13reduce_kernelILi64ELi4ENS0_8ReduceOpIN3c107complexIdE...or_kernel_cuda...EEEEEvT1_"
>    #0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)            (libLLVM.so.24.0git+0x8945aa)
>    [Fixing Rust build #1](https://github.com/llvm/llvm-project/pull/1) SignalHandler(int, siginfo_t*, void*)                          Signals.cpp
>    [Fix a typo #2](https://github.com/llvm/llvm-project/pull/2) SignalHandlerTerminate(int, siginfo_t*, void*)                 Signals.cpp
>    [Fix a compilation error on gcc8 #3](https://github.com/llvm/llvm-project/pull/3) __restore_rt                                                   (libpthread.so.0)
>    [Fix a compilation error on gcc8 #4](https://github.com/llvm/llvm-project/pull/4) generateKeySubkey(llvm::Value*, llvm::TargetLibraryInfo const*, llvm::function_ref<llvm::hash_code (unsigned long, llvm::LoadInst*)>, bool)  SLPVectorizer.cpp
>    [Seedarg/member/wip #5](https://github.com/llvm/llvm-project/pull/5) generateKeySubkey(llvm::Value*, llvm::TargetLibraryInfo const*, llvm::function_ref<llvm::hash_code (unsigned long, llvm::LoadInst*)>, bool)  SLPVectorizer.cpp
>    [Add check for matching HeaderFilter before emitting Diagnostic #6](https://github.com/llvm/llvm-project/pull/6) (anonymous namespace)::HorizontalReduction::matchAssociativeReduction(BoUpSLP&, Instruction*, ScalarEvolution&, DominatorTree&, DataLayout const&, TargetTransformInfo const&, TargetLibraryInfo const&, bool)  SLPVectorizer.cpp
>    [Random engine swap #7](https://github.com/llvm/llvm-project/pull/7) SLPVectorizerPass::vectorizeHorReduction(...)::'lambda'(Instruction*, bool)::operator()  SLPVectorizer.cpp
>    [Update rwlock init #8](https://github.com/llvm/llvm-project/pull/8) SLPVectorizerPass::vectorizeHorReduction(PHINode*, Instruction*, BasicBlock*, BoUpSLP&, SmallVectorImpl&)
>    [ Next80 merge test #9](https://github.com/llvm/llvm-project/pull/9) SLPVectorizerPass::vectorizeRootInstruction(PHINode*, Instruction*, BasicBlock*, BoUpSLP&, SmallSetVector<Instruction*, 8>&)
>    [Fix typo: 'soruce' -> 'source' #10](https://github.com/llvm/llvm-project/pull/10) SLPVectorizerPass::vectorizeChainsInBlock(BasicBlock*, BoUpSLP&)
>    [fix for gcc 8 #11](https://github.com/llvm/llvm-project/pull/11) SLPVectorizerPass::runImpl(...)
>    [Fix "Allman" style example #12](https://github.com/llvm/llvm-project/pull/12) SLPVectorizerPass::run(Function&, AnalysisManager&)
>    ...
>    [Test commit to check lockdown app #19](https://github.com/llvm/llvm-project/pull/19) EmitAssemblyHelper::RunOptimizationPipeline(...)               BackendUtil.cpp
>    [moved upfront the skip branch insertion code for correctness. #21](https://github.com/llvm/llvm-project/pull/21) clang::emitBackendOutput(...)
>    [Fix issue with empty LIB_NAMES #23](https://github.com/llvm/llvm-project/pull/23) clang::ParseAST(clang::Sema&, bool, bool)
>    [Templateissue #27](https://github.com/llvm/llvm-project/pull/27) cc1_main(...)
>    clang++: error: unable to execute command: Segmentation fault (core dumped)
>    clang++: error: clang frontend command failed with exit code -2 (use -v to see invocation)

Fixed in 6b51046ae30cd78fc4b26605e2dcf3b70c282f4c

https://github.com/llvm/llvm-project/pull/224919


More information about the llvm-commits mailing list