Reduce iterations required for DeadArgumentElimination convergence (#4629)
Reduce iterations required for DeadArgumentElimination convergence (#4629)

If we do not remove a param, we can try to remove the return value. We can do that
on a per-function basis, and not only if we removed no params from anywhere.

Also simplify tail call logic.
WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen