[PATCH] D122145: [SLP] Cluster ordering for loads
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 21 08:17:18 PDT 2022
dmgreen created this revision.
dmgreen added reviewers: ABataev, RKSimon, vporpo, dtemirbulatov.
Herald added subscribers: mgrang, hiraditya.
Herald added a project: All.
dmgreen requested review of this revision.
Herald added a project: LLVM.
Given a load without a better order, this patch partially sorts the elements to form clusters of adjacent elements in memory. These clusters can potentially be loaded in fewer loads, meaning less overall shuffling (for example loading v4i8 clusters of a v16i8 as a single f32 loads, as opposed to multiple independent bytes loads and inserts).
https://reviews.llvm.org/D122145
Files:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122145.416947.patch
Type: text/x-patch
Size: 30882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220321/4890ab70/attachment.bin>
More information about the llvm-commits
mailing list