[all-commits] [llvm/llvm-project] 1bdd78: [SelectionDAG] Fold extracts of subvector inserts
Krzysztof Drewniak via All-commits
all-commits at lists.llvm.org
Fri Jun 5 11:19:05 PDT 2026
Branch: refs/heads/users/krzysz00/extract-insert-dagcombine
Home: https://github.com/llvm/llvm-project
Commit: 1bdd78ddcd1f2ecdd5305c618e9eab995a3fadd0
https://github.com/llvm/llvm-project/commit/1bdd78ddcd1f2ecdd5305c618e9eab995a3fadd0
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/dagcombine-freeze-extract-subvector-loop.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
Log Message:
-----------
[SelectionDAG] Fold extracts of subvector inserts
Fold extract_subvector(insert_subvector(...)) when the extraction is
outside the inserted subvector or the inserted subvector only amends
the extracted
In particular,
1. vA extract_subvector (vB insert_subvector(vB X, vC Y, C1), C2) =>
vA extract_subvector(X, C2) when [C2, C2 + A) intersect [C1, C1 + C)
is the empty set
2. ... => extract_subvector(Y, C2 - C1) if [C2, C2 + Y) is a subset of
[C1, C1 + C) - an existing simplification
3. ... => vA insert_subvector(vA extract_subvector(vB X, C2), vC Y, C1 - C2)
if [C1, C1 + C) is a subset of [C2, C2 + A) - that is, if you're only
updating the extracted sub-part.
Adds a regresssion tests for an infinite SelectionDAG cycle that is
fixed by a stack of commits that ends with this one.
AI note: an LLM generated the code and the test, I've read them
Co-Authored-By: OpenAI Codex <codex at openai.com>
Commit: 2ba429cd6cd0494bbcf5bd30496a232305f3cd4c
https://github.com/llvm/llvm-project/commit/2ba429cd6cd0494bbcf5bd30496a232305f3cd4c
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/dagcombine-freeze-extract-subvector-loop.ll
Log Message:
-----------
Style, named test vars
Commit: 9ee8114f16851ca19c2d4d12dda59ff5dfda820d
https://github.com/llvm/llvm-project/commit/9ee8114f16851ca19c2d4d12dda59ff5dfda820d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
R llvm/test/CodeGen/AMDGPU/dagcombine-freeze-extract-subvector-loop.ll
Log Message:
-----------
Remove regression test that's been put elsewhere
Commit: f607c7aa11fcca1861abbb30e2f95f96d1eb438b
https://github.com/llvm/llvm-project/commit/f607c7aa11fcca1861abbb30e2f95f96d1eb438b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
Tests changes after de-stack
Compare: https://github.com/llvm/llvm-project/compare/2c75c43dfe17...f607c7aa11fc
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