1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib/Transforms/Scalar
Arthur Eubanks 4fce57098e [NewPM] Make pass adaptors less templatey
Currently PassBuilder.cpp is by far the file that takes longest to
compile. This is due to tons of templates being instantiated per pass.

Follow PassManager by using wrappers around passes to avoid making
the adaptors templated on the pass type. This allows us to move various
adaptors' run methods into .cpp files.

This reduces the compile time of PassBuilder.cpp on my machine from 66
to 39 seconds. It also reduces the size of opt from 685M to 676M.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D92616
2020-12-04 08:30:50 -08:00
..
ADCE.cpp
AlignmentFromAssumptions.cpp
AnnotationRemarks.cpp
BDCE.cpp
CallSiteSplitting.cpp
CMakeLists.txt
ConstantHoisting.cpp
ConstraintElimination.cpp [ConstraintElimination] Make sure arguments of std:pow match. 2020-12-02 22:23:26 +00:00
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp [DSE] Remove a redundant call to getLocForWriteEx() 2020-11-30 21:12:24 -08:00
DivRemPairs.cpp
EarlyCSE.cpp
FlattenCFGPass.cpp
Float2Int.cpp
GuardWidening.cpp
GVN.cpp [Transforms] Use llvm::is_contained (NFC) 2020-11-18 20:42:22 -08:00
GVNHoist.cpp [Transforms] Use llvm::is_contained (NFC) 2020-11-18 20:42:22 -08:00
GVNSink.cpp
InductiveRangeCheckElimination.cpp
IndVarSimplify.cpp [IndVarSimplify] Fix Modified status when handling dead PHI nodes 2020-11-26 14:28:21 +01:00
InferAddressSpaces.cpp
InstSimplifyPass.cpp
IVUsersPrinter.cpp
JumpThreading.cpp [JumpThreading] Call eraseBlock when folding a conditional branch 2020-12-03 23:50:17 -08:00
LICM.cpp [AA] Split up LocationSize::unknown() 2020-11-26 18:39:55 +01:00
LoopAccessAnalysisPrinter.cpp
LoopDataPrefetch.cpp
LoopDeletion.cpp
LoopDistribute.cpp
LoopFlatten.cpp [LoopFlatten] Widen IV, support ZExt. 2020-11-23 08:57:19 +00:00
LoopFuse.cpp
LoopIdiomRecognize.cpp [AA] Split up LocationSize::unknown() 2020-11-26 18:39:55 +01:00
LoopInstSimplify.cpp
LoopInterchange.cpp [SCEV] Use isa<> pattern for testing for CouldNotCompute [NFC] 2020-11-24 18:47:49 -08:00
LoopLoadElimination.cpp [LoopLoadElim] Make sure all loops are in simplify form. PR48150 2020-11-26 10:51:11 +07:00
LoopPassManager.cpp [NewPM] Make pass adaptors less templatey 2020-12-04 08:30:50 -08:00
LoopPredication.cpp
LoopRerollPass.cpp
LoopRotation.cpp [NFC] Reduce include files dependency. 2020-12-03 18:25:05 +03:00
LoopSimplifyCFG.cpp
LoopSink.cpp Reland: Expand existing loopsink testing to also test loopsinking using new pass manager and fix LICM bug. 2020-11-20 10:26:33 -05:00
LoopStrengthReduce.cpp [NFC] Reduce include files dependency. 2020-12-03 18:25:05 +03:00
LoopUnrollAndJamPass.cpp
LoopUnrollPass.cpp
LoopUnswitch.cpp
LoopVersioningLICM.cpp [SCEV] Use isa<> pattern for testing for CouldNotCompute [NFC] 2020-11-24 18:47:49 -08:00
LowerAtomic.cpp
LowerConstantIntrinsics.cpp
LowerExpectIntrinsic.cpp
LowerGuardIntrinsic.cpp
LowerMatrixIntrinsics.cpp Port -lower-matrix-intrinsics-minimal to NPM 2020-11-19 17:42:48 -08:00
LowerWidenableCondition.cpp
MakeGuardsExplicit.cpp
MemCpyOptimizer.cpp [MemCpyOpt] Port to MemorySSA 2020-12-01 17:57:41 +01:00
MergedLoadStoreMotion.cpp
MergeICmps.cpp [MergeICmps] Fix missing split. 2020-12-01 16:50:55 +01:00
NaryReassociate.cpp [NFC][NARY-REASSOCIATE] Restructure code to aviod isPotentiallyReassociatable 2020-12-04 16:19:43 +07:00
NewGVN.cpp
PartiallyInlineLibCalls.cpp
PlaceSafepoints.cpp static const char *const foo => const char foo[] 2020-12-01 10:33:18 -08:00
Reassociate.cpp
Reg2Mem.cpp
RewriteStatepointsForGC.cpp
Scalar.cpp
Scalarizer.cpp
SCCP.cpp
SeparateConstOffsetFromGEP.cpp
SimpleLoopUnswitch.cpp
SimplifyCFGPass.cpp
Sink.cpp
SpeculateAroundPHIs.cpp
SpeculativeExecution.cpp
SROA.cpp
StraightLineStrengthReduce.cpp
StructurizeCFG.cpp static const char *const foo => const char foo[] 2020-12-01 10:33:18 -08:00
TailRecursionElimination.cpp [CSSPGO] IR intrinsic for pseudo-probe block instrumentation 2020-11-20 10:39:24 -08:00
WarnMissedTransforms.cpp [SVE] Add support for scalable vectors with vectorize.scalable.enable loop attribute 2020-12-02 13:23:43 +00:00