[PATCH] D68266: [MCA][LSUnit] Track loads and stores until retirement.

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 1 07:01:33 PDT 2019


lebedev.ri added a comment.

Thank you for working on this!
Seems ok to me.



================
Comment at: include/llvm/MCA/HardwareUnits/LSUnit.h:298-299
+  // Stores are tracked by the STQ (store queue) from dispatch until commitment.
+  // By default we conservatively assume that the LDQ receives a load at
+  // dispatch. Loads leave the LDQ at retirement stage.
+  virtual void onInstructionRetired(const InstRef &IR);
----------------
> // By default we conservatively assume that the LDQ receives a load at dispatch.

I think this may explain some of the weird throughput numbers i was seeing
for load-folded instructions. (as compared with llvm-exegesis measurements)
Is there a bug that tracks this? I wonder if the correct choice would be
to make it wait for L1 latency here.


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

https://reviews.llvm.org/D68266





More information about the llvm-commits mailing list