Addition of this pass has been botchered.
There is no particular reason why it had to be sold as an inseparable part of new-pm transition.
It was added when old-pm was still the default, and very *very* few users were actually tracking new-pm,
so it's effects weren't measured. Which means, some of the turnoil of the new-pm transition
are actually likely regressions due to this pass.
Likewise, there has been a number of post-commit feedback (post new-pm switch), namely
- https://reviews.llvm.org/D37467#2787157 (regresses HW-loops)
- https://reviews.llvm.org/D37467#2787259 (should not be in middle-end, should run after LSR, not before)
- https://reviews.llvm.org/D95789 (an attempt to fix bad loop backedge metadata)
and in the half year past, the pass authors (google) still haven't found time to respond to any of that.
Hereby it is proposed to backout the pass from the pipeline, until someone who cares about it
can address the issues reported, and properly start the process
of adding a new pass into the pipeline, with proper performance evaluation.
As it has been in-tree for a while, I think it would be good to add a cl::opt option for people who have come to rely on it being present in some way.