My intuition is that stacking general super optimizers will be at best equally or less effective than just running a machine specific one for twice as long.
In summary, no approache subsumes the other one. Thus, it is worthwhile to have them both.
That being the case, it seems like it would be advantageous to create optimisations that work at both stages of compilation - not least because the IR-level ones will be more widely applicable.