Quoting Paolo Bonzini <bonz...@gnu.org>:
Unless I'm missing something, this is going all the way down to the end of the function, bypassing the CFG, so it is neither efficient nor correct.
new_insn hasn't been emitted yet, hence it is a single insn or a short chain of insn to implement a no-op move (for a post-modify with zero offset) or, more likely, a two-address add.