I did a bit more digging and asking around over here.
PyTorch has an op add_(A, B) which is also in-place, so that’s very similar.
For TF, Jong Wu works on TF-> TVM. He was OK with repeating this quote here: “Currently we just support tf image classification models, we do not see this issue in classification models, and I don’t see it in object detection models (ssd, mask-rcnn, etc.) either. But we did see someone in tvm discuss forum reported unsupported ops like ‘Assign’ Implementing new operators for TensorFlow, usually people reported ‘Assign’ with training ops like RestoreV2, I am not sure if Assign will be removed after freezing model in TF”
Where I’ve seen it come up is in training, matching Junru Shao’s response above. If it just doesn’t happen much in inference, then that’s a good thing.
If the main place this comes up is in training is the addition inside the weight update rule (TF “optimizer”), applying the gradients to the weights, that Junru Shao pointed out above, then that seems like a very structured situation that should be fairly straightforward to pattern match away inside the converter?
(Though I worry whether this is just the starting step in an ever longer set of such patterns. The TF2XLA project had/has a lot of trouble converting TF to HLO, but I think graphdef is substantially harder to deal with than MXNet, so perhaps that won’t be the same thing there.)