[PATCH] D115029: [AArch64] Try to fold lsl + ldr/str
JinGu Kang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 3 04:03:23 PST 2021
jaykang10 added a comment.
In D115029#3169432 <https://reviews.llvm.org/D115029#3169432>, @dmgreen wrote:
> Could this just update the code in https://github.com/llvm/llvm-project/blob/1f5510326375cb9a7c747aab26080699f7952d74/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp#L510?
Ah, you are right! It looks the `isWorthFoldingSHL` is doing same thing and it will work within a block.
However, if the `lsl` is in different block with the `ldr/str`, it would not work because there would be `CopyFromReg` for `lsl` in the block of `ldr/str`.
> It sounds like FeatureLSLFast could be more generally enabled, depending on what the conditions are for when this is fast.
Yep, I agree with you. At least, we need to enable it for neoverse.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115029/new/
https://reviews.llvm.org/D115029
More information about the llvm-commits
mailing list