[PATCH] D126116: [X86][BOLT][NFC] Use getOperandType to determine memory access size

Amir Ayupov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 13:28:29 PDT 2022


Amir added a comment.

In D126116#3556529 <https://reviews.llvm.org/D126116#3556529>, @rafauler wrote:

> No, this diff is not NFC. It's actually pretty impactful (and thanks for working on this Amir).
>
> If you change that, shrink wrapping will recognize way more instructions and will analyze more functions, causing the optimization to activate more often.
>
> Because of that, we need to update tests. We may want to coordinate landing this together with my patchset of 5 diffs, so I can update all tests only once, instead of multiple times, one per diff.

You're right. With this diff, we're covering more cases in shrink wrapping and this diff is not NFC as tested on internal binaries.
The failing upstream test `runtime/X86/shrinkwrapping-lock.s` also shows one example where shrink wrapping is now more aggressive:
(left is before this change, right is with this change)
F23306083: Screen Shot 2022-06-03 at 1.26.36 PM.png <https://reviews.llvm.org/F23306083>
We're able to move rbx spill and fill into the cold block LFT0.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126116/new/

https://reviews.llvm.org/D126116



More information about the llvm-commits mailing list