[all-commits] [llvm/llvm-project] a2075c: [SLP] Treat extracts from undef vectors as real, n...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed May 6 12:03:40 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a2075c3dea692c6150fb626b328ceeead52df455
https://github.com/llvm/llvm-project/commit/a2075c3dea692c6150fb626b328ceeead52df455
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-06 (Wed, 06 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelements-with-undef-vector.ll
Log Message:
-----------
[SLP] Treat extracts from undef vectors as real, not free, extracts
tryToGatherSingleRegisterExtractElements classified an extractelement whose
vector operand was undef as a free undef extract via UndefVectorExtracts.
When the remaining extracts already filled the two-vector shuffle budget,
the resulting build vector contained a third distinct vector operand and
tripped the assertion "Expected only 1 or 2 vectors shuffle." in
processBuildVector.
Use isUndefVector with IsPoisonOnly=true so that only extracts from poison
vectors are still treated as free.
Fixes #196015.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/196150
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list