ir3: Set up full/half register conflicts correctly
Setting up transitive conflicts between a full register and its two half registers (eg r0.x and hr0.x and hr0.y) will make hr0.x and hr0.y conflict. They don't conflict and this conflict prevents us from using both at the same time.
Add and use a new ra helper that sets up transitive conflicts between a register and its subregisters, except it carefully avoids the subregister conflict.
Signed-off-by: Kristian H. Kristensen firstname.lastname@example.org