Irritatingly, atomic_store had operands in the opposite order from
regular store. This made it difficult to share patterns between
regular and atomic stores.
There was a previous incomplete attempt to move atomic_store into the
regular StoreSDNode which would be better.
I think it was a mistake for all atomicrmw to swap the operand order,
so maybe it's better to take this one step further.
I think this is quite problematic for downstream, out of tree code. If I'm not mistaken, the operands of the node simply get reversed, silently causing failures.
Perhaps we should implement new overloads of these and getOperand() with a new parameter to indicate that the caller is aware of the change and make the original ones hit an unreachable (this would of course be limited to ATOMIC_STORE). Changing all in-tree callers allows this to continue to work whereas any downstream code that is unaware of the change will simply break.