[PATCH] D146610: [DAGCombiner][SelectionDAG] Apply CombineStoreAndExtract on constant values
Ting Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 24 00:45:30 PDT 2023
tingwang updated this revision to Diff 507982.
tingwang added a comment.
Updates:
(1) Do not combine when store node generates additional value(s).
(2) Add `getCombineStoreAndExtractIdx()` to directly query the index, and do not need to loop through all elements.
(3) If the constant value to be stored is referenced by node other than current Store and the vector node, do not combine.
(4) Do not combine if the constant value is -1U.
(5) Add check to make sure the to-be-extracted vector type is legal.
Bootstrap is clean with this version.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146610/new/
https://reviews.llvm.org/D146610
Files:
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
llvm/test/CodeGen/PowerPC/memset-tail.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146610.507982.patch
Type: text/x-patch
Size: 74671 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230324/bca92e28/attachment-0001.bin>
More information about the llvm-commits
mailing list