1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm/Transforms/Scalar
Fedor Sergeev 9146e8f676 [PM] port Rewrite Statepoints For GC to the new pass manager.
Summary:
The port is nearly straightforward.
The only complication is related to the analyses handling,
since one of the analyses used in this module pass is domtree,
which is a function analysis. That requires asking for the results
of each function and disallows a single interface for run-on-module
pass action.

Decided to copy-paste the main body of this pass.
Most of its code is requesting analyses anyway, so not that much
of a copy-paste.

The rest of the code movement is to transform all the implementation
helper functions like stripNonValidData into non-member statics.

Extended all the related LLVM tests with new-pass-manager use.
No failures.

Reviewers: sanjoy, anna, reames

Reviewed By: anna

Subscribers: skatkov, llvm-commits

Differential Revision: https://reviews.llvm.org/D41162

llvm-svn: 320796
2017-12-15 09:32:11 +00:00
..
ADCE.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-13 21:17:07 +00:00
AlignmentFromAssumptions.h
BDCE.h
CallSiteSplitting.h Recommit r317351 : Add CallSiteSplitting pass 2017-11-03 20:41:16 +00:00
ConstantHoisting.h [Transforms] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:43:53 +00:00
CorrelatedValuePropagation.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-13 21:17:07 +00:00
DCE.h
DeadStoreElimination.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-13 21:17:07 +00:00
DivRemPairs.h [DivRempairs] add a pass to optimize div/rem pairs (PR31028) 2017-09-09 13:38:18 +00:00
EarlyCSE.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-13 21:17:07 +00:00
Float2Int.h [Float2Int] Remove return of ConstantRange from seen method. Nothing uses it so it just creates and discards a ConstantRange object for no reason. 2017-05-04 21:29:45 +00:00
GuardWidening.h
GVN.h Reapply "[GVN] Prevent LoadPRE from hoisting across instructions that don't pass control flow to successors" 2017-10-31 05:07:56 +00:00
GVNExpression.h [Transforms] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:43:53 +00:00
IndVarSimplify.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-16 21:34:24 +00:00
IVUsersPrinter.h
JumpThreading.h Reverting [JumpThreading] Preservation of DT and LVI across the pass 2017-12-13 22:01:17 +00:00
LICM.h
LoopAccessAnalysisPrinter.h
LoopDataPrefetch.h
LoopDeletion.h
LoopDistribute.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-16 21:34:24 +00:00
LoopIdiomRecognize.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-16 21:34:24 +00:00
LoopInstSimplify.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-16 21:34:24 +00:00
LoopLoadElimination.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-16 21:34:24 +00:00
LoopPassManager.h Add MemorySSA as loop dependency, disabled by default [NFC]. 2017-11-21 15:45:46 +00:00
LoopPredication.h
LoopRotation.h
LoopSimplifyCFG.h
LoopSink.h
LoopStrengthReduce.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-18 21:46:47 +00:00
LoopUnrollPass.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-18 21:46:47 +00:00
LowerAtomic.h
LowerExpectIntrinsic.h fix typo; NFC 2017-08-24 15:00:13 +00:00
LowerGuardIntrinsic.h
MemCpyOptimizer.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-18 21:46:47 +00:00
MergedLoadStoreMotion.h
NaryReassociate.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-17 21:27:42 +00:00
NewGVN.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-20 21:47:29 +00:00
PartiallyInlineLibCalls.h
Reassociate.h Reassociate: add global reassociation algorithm 2017-12-12 19:18:02 +00:00
RewriteStatepointsForGC.h [PM] port Rewrite Statepoints For GC to the new pass manager. 2017-12-15 09:32:11 +00:00
SCCP.h [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-20 21:47:29 +00:00
SimpleLoopUnswitch.h [PM/Unswitch] Teach SimpleLoopUnswitch to do non-trivial unswitching, 2017-11-17 19:58:36 +00:00
SimplifyCFG.h [SimplifyCFG] don't sink common insts too soon (PR34603) 2017-12-14 22:05:20 +00:00
Sink.h
SpeculateAroundPHIs.h Add a new pass to speculate around PHI nodes with constant (integer) operands when profitable. 2017-11-28 11:32:31 +00:00
SpeculativeExecution.h
SROA.h [SROA] Correctly invalidate analyses when dead instructions deleted 2017-11-20 18:33:38 +00:00
TailRecursionElimination.h