Fix Block::eraseArgument when block arg is also a successor operand.
This could trigger an assertion due to the block argument being used by
this block's own successor operands.
Subscribers: mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Differential Revision: https://reviews.llvm.org/D74583