llvm-project/llvm/lib/Transforms/Scalar
Sebastian Pop 4ba7c88cc7 GVN-hoist: compute DFS numbers once
With this patch we compute the DFS numbers of instructions only once and update
them during the code generation when an instruction gets hoisted.

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

llvm-svn: 277650
2016-08-03 20:54:36 +00:00
..
ADCE.cpp [ADCE] Refactor anticipating new functionality (NFC) 2016-08-03 04:28:39 +00:00
AlignmentFromAssumptions.cpp [PM] Port AlignmentFromAssumptions to the new PM. 2016-06-15 06:18:01 +00:00
BDCE.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
CMakeLists.txt code hoisting pass based on GVN 2016-07-15 13:45:20 +00:00
ConstantHoisting.cpp This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
ConstantProp.cpp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
CorrelatedValuePropagation.cpp Revert "Teach CorrelatedValuePropagation to mark adds as no wrap" 2016-08-03 16:20:48 +00:00
DCE.cpp Move helper classes into anonymous namespaces. NFC. 2016-05-15 15:18:11 +00:00
DeadStoreElimination.cpp [DSE] Fix bug in updating MadeChange flag 2016-07-27 17:25:20 +00:00
EarlyCSE.cpp [EarlyCSE] Correctly handle simplified, but live, instructions 2016-07-29 05:39:21 +00:00
FlattenCFGPass.cpp Scalar: Remove some implicit ilist iterator conversions, NFC 2015-10-13 18:26:00 +00:00
Float2Int.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
GVN.cpp [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
GVNHoist.cpp GVN-hoist: compute DFS numbers once 2016-08-03 20:54:36 +00:00
GuardWidening.cpp fix formatting, typo; NFC 2016-06-19 17:20:27 +00:00
IndVarSimplify.cpp [IndVars] Reflow oddly formatted condition; NFC 2016-07-21 18:58:01 +00:00
InductiveRangeCheckElimination.cpp [IRCE] Rename variable; NFC 2016-08-02 19:32:01 +00:00
JumpThreading.cpp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
LICM.cpp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
LLVMBuild.txt Update libdeps in LLVMipo and LLVMScalarOpts, corresponding to r245940. 2015-08-25 17:11:17 +00:00
LoadCombine.cpp Address Eli's post-commit comments 2016-06-19 21:36:35 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Fix unused variable in release build 2016-07-22 23:08:10 +00:00
LoopDeletion.cpp [PM] Port Dead Loop Deletion Pass to the new PM 2016-07-14 18:28:29 +00:00
LoopDistribute.cpp [OptDiag,LDist] Convert remaining opt remarks to use the new API 2016-07-21 21:21:34 +00:00
LoopIdiomRecognize.cpp [PM] Port LoopIdiomRecognize Pass to new PM 2016-07-12 18:45:51 +00:00
LoopInstSimplify.cpp [PM] Convert LoopInstSimplify Pass to new PM 2016-07-15 16:42:11 +00:00
LoopInterchange.cpp [Loop Vectorizer] Handling loops FP induction variables. 2016-07-24 07:24:54 +00:00
LoopLoadElimination.cpp Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC 2016-07-08 20:55:26 +00:00
LoopRerollPass.cpp [LoopReroll] Reroll loops with unordered atomic memory accesses 2016-07-19 00:23:54 +00:00
LoopRotation.cpp Give helper classes/functions internal linkage. NFC. 2016-07-10 11:28:51 +00:00
LoopSimplifyCFG.cpp LoopSimplifyCFG: Prefer `const auto &` to `auto &`, for clarity. NFC 2016-06-17 17:59:48 +00:00
LoopStrengthReduce.cpp [PM] Convert Loop Strength Reduce pass to new PM 2016-07-18 21:41:50 +00:00
LoopUnrollPass.cpp [LoopUnroll] Include hotness of region in opt remark 2016-07-29 19:29:47 +00:00
LoopUnswitch.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
LoopVersioningLICM.cpp Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC 2016-07-08 20:55:26 +00:00
LowerAtomic.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerExpectIntrinsic.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerGuardIntrinsic.cpp [PM] Port LowerGuardIntrinsic to the new PM. 2016-07-28 22:08:41 +00:00
MemCpyOptimizer.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
MergedLoadStoreMotion.cpp [MergedLoadStoreMotion] Remove out of date comment 2016-07-21 05:59:51 +00:00
NaryReassociate.cpp [PM] Port NaryReassociate to the new PM 2016-07-21 22:28:52 +00:00
PartiallyInlineLibCalls.cpp [PM] Port PartiallyInlineLibCalls to the new pass manager. 2016-05-25 23:38:53 +00:00
PlaceSafepoints.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
Reassociate.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
Reg2Mem.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
RewriteStatepointsForGC.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
SCCP.cpp [SCCP] Zap multiple return values. 2016-07-20 20:17:13 +00:00
SROA.cpp Fix formatting of r273144. NFC. 2016-06-20 11:19:58 +00:00
Scalar.cpp [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
Scalarizer.cpp Scalarizer: Support scalarizing intrinsics 2016-07-25 20:02:54 +00:00
SeparateConstOffsetFromGEP.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
SimplifyCFGPass.cpp Move instances of std::function. 2016-06-12 16:13:55 +00:00
Sink.cpp [Sink] Don't move calls to readonly functions across stores 2016-07-11 14:11:51 +00:00
SpeculativeExecution.cpp [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
StraightLineStrengthReduce.cpp [SLSR] Call getPointerSizeInBits with the correct address space. 2016-07-11 18:13:28 +00:00
StructurizeCFG.cpp StructurizeCFG: Fix inverting constantexpr conditions 2016-07-15 22:13:16 +00:00
TailRecursionElimination.cpp [PM] Port TailCallElim 2016-07-06 23:48:41 +00:00