[PATCH] D98628: [MCA] Disable RCU for InOrderIssueStage

Andrea Di Biagio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 15 05:37:25 PDT 2021


andreadb requested changes to this revision.
andreadb added a comment.
This revision now requires changes to proceed.

There is nothing wrong with using a dummy RCU for the InOrderIssue stage.

The RCUtokenID is always stored in the instruction at dispatch time. You don't need any changes to pre-existing dispatch stage APIs (and listeners).

Note that your code still does this:

  unsigned RCUTokenID = RetireControlUnit::UnhandledTokenID;
  IS.dispatch(RCUTokenID);

Your check on `TotalROBEntries` is fine. However, RetireControlUnitStatistics could (and probably should) be disabled for in-order processors (since it doesn't really makes sense).
Excluding those API changes which I don't particularly like, the other changes look mostly harmless and are basically a NFC restructuring.

I strongly suggest that we focus on fixing D98604 <https://reviews.llvm.org/D98604> first.
Once D98604 <https://reviews.llvm.org/D98604> is fixed, then you can update this patch and discuss the changes to RetireControlUnitStatistics (and whether those make any sense in practice for in-order processors). I don't think that we should touch the dispatch stage, nor the event associated to it.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98628



More information about the llvm-commits mailing list