1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/lib/Passes
Roman Lebedev 10ca53ce65 [NewPM] Remove SpeculateAroundPHIs pass
Addition of this pass has been botched.
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.

Furthermore, neither google nor facebook reports any perf changes
from this change, so i'm dropping the pass completely.
It can always be re-reverted should/if anyone want to pick it up again.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D104099
2021-06-15 20:35:55 +03:00
..
CMakeLists.txt [NewPM] Add C bindings for new pass manager 2021-05-17 11:45:47 -07:00
PassBuilder.cpp [NewPM] Remove SpeculateAroundPHIs pass 2021-06-15 20:35:55 +03:00
PassBuilderBindings.cpp [NewPM] Add C bindings for new pass manager 2021-05-17 11:45:47 -07:00
PassPlugin.cpp
PassRegistry.def [NewPM] Remove SpeculateAroundPHIs pass 2021-06-15 20:35:55 +03:00
StandardInstrumentations.cpp ABI breaking changes fixes. 2021-06-15 11:08:13 +01:00