[PATCH] D36151: [GlobalISel] Only merge memory ops for mayLoad or mayStore instrs.
Daniel Sanders via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 1 10:22:05 PDT 2017
dsanders accepted this revision.
dsanders added a comment.
This revision is now accepted and ready to land.
In https://reviews.llvm.org/D36151#827515, @fhahn wrote:
> Yes, https://reviews.llvm.org/D36094 fixes the problem too! Here's what's going on in the test case, without any of the 2 patches:
Great! In that case I'll update the summary of that patch to indicate that arm-isel.ll shows the same problem in-tree.
> Would it still make sense to only emit GIR_MergeMemOperands for instructions that mayLoad/mayStore? Unless I am missing something, I think not having this action when it's not required would speed up GlobalISel a tiny bit.
Yes, it does. As you say, not using GIR_MergeMemOperands unnecessarily will speed up the matcher. It will also become important later on when load/store is importable and we support multi-instruction emission since something will have to ensure the memory operands are added to appropriate instructions.
This patch LGTM. Ideally, https://reviews.llvm.org/D36094 would land first since that fixes the underlying problem but that hasn't been reviewed yet and I see no reason to require that it lands first.
https://reviews.llvm.org/D36151
More information about the llvm-commits
mailing list