[PATCH] D62890: [DAGCombiner] Improve tryStoreMergeOfExtracts by using double sized vector type before type legalized

Ting Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 31 23:45:45 PDT 2022


tingwang updated this revision to Diff 448921.
tingwang retitled this revision from "[DAGCombiner] Merge consecutive stores of vector elements before types are legalized" to "[DAGCombiner] Improve tryStoreMergeOfExtracts by using double sized vector type before type legalized ".
tingwang edited the summary of this revision.
tingwang edited reviewers, added: shchenz, qiucf, Esme, PowerPC; removed: hfinkel, jsji, steven.zhang.
tingwang removed a project: All.
tingwang added a comment.
Herald added a project: All.

With this change, the SystemZ case is not touched. Two x86 cases still need to confirm.

According to previous comments, it may be better to have some cost function to decide if merge is preferred or not. I'm not sure how to implement the cost function, one reason is that the final code sequence generated may depends on target specific flag etc., and backend target at this stage may not have enough information to decide. For example results in extract-and-store.ll show dependence on `-ppc-disable-perfect-shuffle=false`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62890/new/

https://reviews.llvm.org/D62890

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/PowerPC/extract-and-store.ll
  llvm/test/CodeGen/X86/masked_compressstore.ll
  llvm/test/CodeGen/X86/pr40994.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62890.448921.patch
Type: text/x-patch
Size: 22549 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220801/0cdea262/attachment.bin>


More information about the llvm-commits mailing list