This patch allows targets to define multiple cost
values for each register so that the cost model
can be more flexible and better used during the
register allocation as per the target requirements.
For AMDGPU the VGPR allocation will be more efficient
if the register cost can be associated dynamically
based on the calling convention.
Why do we need this array?
The information should be readily available through TRI->getCostPerUse() (maybe by adding an MF argument).