[PATCH] D116801: [PowerPC] Avoid perfect shuffle when mask has multiple uses
ChenZheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 9 18:44:44 PST 2022
shchenz added inline comments.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:10050
+ if (MaskMap.find(PermMask) == MaskMap.end()) {
+ for (const SDNode &Node: DAG.allnodes()) {
+ if (const auto *Shuffle = dyn_cast<ShuffleVectorSDNode>(&Node)) {
----------------
Please fix all the Lint warnings.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:10063
+ // cheaper to use load+vperm.
+ if (!MaskMap[PermMask].second) {
+ unsigned PFIndexes[4];
----------------
Can we first check `isLittleEndian` and then `isFourElementShuffle` and then `MaskMap[PermMask].second` to improve the compile time?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116801/new/
https://reviews.llvm.org/D116801
More information about the llvm-commits
mailing list