When the ProcResGroup has BufferSize=0,
- if there is a subunit in the list of write resources for the scheduling class, do not attempt to schedule the ProcResGroup.
- if there is not a subunit in the list of write resources for the scheduling class, choose a subunit to use instead of the ProcResGroup.
- having both the ProcResGroup and any of its subunits in the resources implied by a InstRW is not supported.
Used to model parallel uses from a pool of resources.
uint64_t is fine in general because models tend to declare less than 30 processor resources on average. On x86 I have seen peaks of ~45 resources (iirc). I don't expect future models to end up declaring more than 63 resources (even mca makes that strong assumption).
That being said, if possible (and if it is not problematic for your code) it would be much safer to use APInt, so that we are not limited to 64-bits and we can manipulate arbitrary big bitmasks.