These terminator operations don't really have any side effects, and this allows for more accurate side-effect analysis for region operations. For example, currently we can't detect like a loop.for or affine.for are dead because the affine.terminator is "side effecting".
Note: Marking as NoSideEffect doesn't mean that these operations can be opaquely erased.
Depends On D75886
This might still simplify terminator operations that we do not identify as those. Is the idea that those still have to remain side-effecting? Or will this be fixed in a future iteration with more detailed modelling?