With this patch, the "instruction dispatched" event now provides information related to the number of microarchitectural registers used by the instructio in each register file. Similarly, the "instruction retired" event is able to tell how may registers are freed in each register file.
Currently, the BackendStatistics view is the only consumer of register usage/pressure information. BackendStatistics uses that info to print out a few general statistics (i.e. max number of mappings used; total mapping created).
Before this patch, the BackendStatistics was forced to query the Backend to obtain the register pressure information.
This helps removes that dependency. Now views are completely independent from the Backend.
As a consequence, it should be easier to address PR36663 and further modularize the pipeline.
Added a couple of test cases in the BtVer2 specific directory.
const auto for casts - we already know the type