[PATCH] D105589: [ARM] Move the creation of VBICIMM and VORRIMM to lowering
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 7 13:47:15 PDT 2021
dmgreen created this revision.
dmgreen added reviewers: efriedma, SjoerdMeijer, samtebbs, ostannard, simon_tatham.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.
These opcodes were being created as combines, meaning they can be created very early. This moves that so that they are created during lowering or the And/Or, meaning other target independent optimizations are more likely to fire, leading to better code.
Making Or and And custom does require some cost adjustments to keep the cost at 1. In the long run, I think it would be good to remove VMOVImm/VBICImm/VORRImm and recognize them during selection.
https://reviews.llvm.org/D105589
Files:
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
llvm/test/CodeGen/Thumb2/mve-vqshl.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105589.357064.patch
Type: text/x-patch
Size: 30183 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210707/e0978f6e/attachment.bin>
More information about the llvm-commits
mailing list