SelectionDAG relies on MachineInstr's HasPostISelHook for selecting the
no-return atomic ops. GlobalISel, at the moment, doesn't handle
HasPostISelHook.
This change adds the selection for no-return ds_* atomic ops in tblgen
so that it can work with both GlobalISel and SelectionDAG. We couldn't
add the predicates for GlobalISel in this change since there's a
restriction in the GlobalISel's tblgen back-end that disallows selecting
generic atomics ops that return with instructions that doesn't return.
We can't remove the HasPostISelHook code that selects the no return
atomic ops in SelectionDAG yet since we still need to cover selections
in FLATInstructions.td.
This is incorrect, breaking the MC tests and might be related to the change in
SIInsertWaitcnts behaviour in some of the modified tests. How can we fix this?