[PATCH] D104149: [MCA] Adding the CustomBehaviour class to llvm-mca

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 14 02:48:55 PDT 2021


foad added a comment.

> However, this pass is dealing with ‘psuedo’ instructions, whereas in mca, we are dealing with ‘real’ instructions. This is relevant because many of the flags that the logic depends on (such as mayLoad, mayStore, and even some target specific flags) are not always shared between the ‘pseudo’ and ‘real’ instructions. This makes it really difficult to determine with certainty which instructions interact with which counters.

In most cases the reason that some flags are not set accurately on Real instructions is just that there has been no need for them. Copying them across from the corresponding Pseudo instruction is almost a no-brainer. I have done some of this before in D99187 <https://reviews.llvm.org/D99187> and am happy to do more.

> However, ds_read_u8 is modeled as having both a read and a write to the M0 register

I'm surprised by this. I don't see anything in the tablegen files to say that DS instructions write to M0.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104149



More information about the llvm-commits mailing list