[PATCH] D75847: [DAGCombine] Skip PostInc combine with later users
Sam Parker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 9 06:57:32 PDT 2020
samparker created this revision.
samparker added reviewers: dmgreen, RKSimon, spatel, craig.topper.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
When decided whether to generate a post-inc load/store, look at the other memory nodes that use the same base address and, if any proceed the current node, then don't do the combine. This naively assumes that the later user can perform the post-inc.
The change only seems to be affecting the Arm backend, which I was surprised at, but it appears to fix a lot of our issues around MVE masked load/stores having to store a temporary address after an early post-increment on a shared base address.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D75847
Files:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/Thumb/frame-access.ll
llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
llvm/test/CodeGen/Thumb2/LowOverheadLoops/extending-loads.ll
llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75847.249083.patch
Type: text/x-patch
Size: 9169 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/27703b46/attachment.bin>
More information about the llvm-commits
mailing list