1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/include/llvm/Transforms/Scalar
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
..
ADCE.h
AlignmentFromAssumptions.h
AnnotationRemarks.h [AnnotationRemarks] Remove unneeded Function.h include (NFC). 2021-03-15 21:09:35 +00:00
BDCE.h
CallSiteSplitting.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
ConstantHoisting.h [ConstantHoisting] Remove unused declaration optimizeConstants (NFC) 2020-12-05 16:22:12 -08:00
ConstraintElimination.h
CorrelatedValuePropagation.h
DCE.h [DCE] Port -redundant-dbg-inst-elim to NPM 2020-11-14 16:55:20 -08:00
DeadStoreElimination.h
DivRemPairs.h
EarlyCSE.h
Float2Int.h
GuardWidening.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
GVN.h [NFC] MemoryDependenceAnalysis cleanup. 2021-05-31 18:07:55 +03:00
GVNExpression.h Replace uses of std::iterator with explicit using 2021-04-12 10:47:14 -07:00
InductiveRangeCheckElimination.h
IndVarSimplify.h [NFC] Add flag to disable IV widening in indvar instance 2020-11-10 15:10:44 +07:00
InferAddressSpaces.h [NewPM] Port infer-address-spaces 2020-12-28 19:58:12 -08:00
InstSimplifyPass.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
IVUsersPrinter.h
JumpThreading.h ABI breaking changes fixes. 2021-06-15 11:08:13 +01:00
LICM.h
LoopAccessAnalysisPrinter.h
LoopBoundSplit.h [SimpleLoopBoundSplit] Split Bound of Loop which has conditional branch with IV 2021-06-07 10:55:25 +01:00
LoopDataPrefetch.h
LoopDeletion.h
LoopDistribute.h
LoopFlatten.h [LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass 2021-05-28 15:43:12 +00:00
LoopFuse.h
LoopIdiomRecognize.h
LoopInstSimplify.h
LoopInterchange.h [NFC] Refactor LoopInterchange into a loop-nest pass 2021-02-18 00:55:38 +08:00
LoopLoadElimination.h
LoopPassManager.h ABI breaking changes fixes. 2021-06-15 11:08:13 +01:00
LoopPredication.h
LoopReroll.h
LoopRotation.h [LoopRotate] Add PrepareForLTO stage, avoid rotating with inline cands. 2021-01-19 10:15:29 +00:00
LoopSimplifyCFG.h
LoopSink.h
LoopStrengthReduce.h
LoopUnrollAndJamPass.h [LoopUnrollAndJam] Change LoopUnrollAndJamPass to LoopNest pass 2021-06-08 20:30:02 +09:00
LoopUnrollPass.h [Passes] Run peeling as part of simple/full loop unrolling. 2021-01-26 13:52:30 +00:00
LoopVersioningLICM.h [NPM] Port -loop-versioning-licm to NPM 2020-10-24 21:51:18 +08:00
LowerAtomic.h [NVPTX] Enable lowering of atomics on local memory 2021-04-26 20:12:12 -04:00
LowerConstantIntrinsics.h
LowerExpectIntrinsic.h [clang][CodeGen] Lower Likelihood attributes to @llvm.expect intrin instead of branch weights 2021-03-21 22:50:21 +03:00
LowerGuardIntrinsic.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
LowerMatrixIntrinsics.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
LowerWidenableCondition.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
MakeGuardsExplicit.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
MemCpyOptimizer.h [NFC] Reduce include files dependency. 2020-12-03 18:25:05 +03:00
MergedLoadStoreMotion.h
MergeICmps.h
NaryReassociate.h [NARY-REASSOCIATE] Support reassociation of min/max 2021-04-02 15:30:13 +07:00
NewGVN.h
PartiallyInlineLibCalls.h
Reassociate.h
Reg2Mem.h [Reg2Mem] add support for the new pass manager 2020-11-08 11:14:05 +00:00
RewriteStatepointsForGC.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
ScalarizeMaskedMemIntrin.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
Scalarizer.h
SCCP.h Function Specialization Pass 2021-06-11 09:11:29 +01:00
SeparateConstOffsetFromGEP.h [NewPM] Port -separate-const-offset-from-gep 2020-11-09 17:42:36 -08:00
SimpleLoopUnswitch.h
SimplifyCFG.h
Sink.h
SpeculativeExecution.h [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
SROA.h [SROA] Remove Dead Instructions while creating speculative instructions 2020-12-18 11:47:02 -05:00
StraightLineStrengthReduce.h [NPM] Port -slsr to NPM 2020-10-27 09:21:40 +08:00
StructurizeCFG.h [StructurizeCFG][NewPM] Port -structurizecfg to NPM 2020-10-23 15:54:03 -07:00
TailRecursionElimination.h
WarnMissedTransforms.h