[PATCH] D29616: LoadStoreVectorizer: Split even sized illegal chains properly
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 6 18:20:47 PST 2017
arsenm created this revision.
Herald added a reviewer: tstellarAMD.
Herald added subscribers: tpr, mehdi_amini, nhaehnle, wdng, mzolotukhin.
Implement isLegalToVectorizeLoadChain for AMDGPU to avoid
producing private address spaces accesses that will need to be
split up later. This was doing the wrong thing in the case
where the queried chain was an even number of elements.
A possible <4 x i32> store was being split into
store <2 x i32>
store i32
store i32
rather than
store <2 x i32>
store <2 x i32>
when legal.
https://reviews.llvm.org/D29616
Files:
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29616.87353.patch
Type: text/x-patch
Size: 12204 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170207/1e7729d6/attachment-0001.bin>
More information about the llvm-commits
mailing list