ir3: implement (eolm) and (eogm)
This MR is a rebased version of !24376 (closed) and supersedes it.
Since the original MR, helper_sched
was changed to use the physical CFG instead of the logical one (!29409 (merged)). This means (eolm)
/(eogm)
will now be scheduled using the physical CFG as well, just like (eq)
. However, afaik, we still don't know whether this is actually correct (it probably is for (eogm)
, it might mot be for (eolm)
) but it feels like the most logical thing to do for a first implementation. Unfortunately, I haven't found a way to actually measure the effect of these flags so it's difficult to test the optimal placement of them.
Compared to the original MR, I've added a commit to add last-eolm
and last-eogm
stats for shaderdb. This was useful for testing but we might not want to keep it around for the final version, especially since we wouldn't really know how to interpret them.