1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib/Transforms/Scalar
Davide Italiano d7c0f18c12 [GVN/PRE] Hoist global values outside of loops.
In theory this could be generalized to move anything where
we prove the operands are available, but that would require
rewriting PRE. As NewGVN will hopefully come soon, and we're
trying to rewrite PRE in terms of NewGVN+MemorySSA, it's probably
not worth spending too much time on it. Fix provided by
Daniel Berlin!

llvm-svn: 284311
2016-10-15 21:35:23 +00:00
..
ADCE.cpp Merge branch 'ADCE5' 2016-09-19 23:17:58 +00:00
AlignmentFromAssumptions.cpp Scalar: Ignore ConstantData in processAssumption 2016-09-24 20:00:38 +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 Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
ConstantProp.cpp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
CorrelatedValuePropagation.cpp [CVP] Convert an AShr to a LShr if 1st operand is known to be nonnegative. 2016-10-12 13:41:38 +00:00
DCE.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
DeadStoreElimination.cpp limit the number of instructions per block examined by dead store elimination 2016-08-26 16:34:27 +00:00
EarlyCSE.cpp Fix typo in comment, NFC 2016-09-07 01:49:41 +00:00
FlattenCFGPass.cpp
Float2Int.cpp [PM] Normalize FIXMEs for missing PreserveCFG to have the same wording. 2016-06-28 00:54:12 +00:00
GuardWidening.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
GVN.cpp [GVN/PRE] Hoist global values outside of loops. 2016-10-15 21:35:23 +00:00
GVNHoist.cpp commit back "GVN-hoist: fix store past load dependence analysis (PR30216, PR30499)" 2016-10-13 01:39:10 +00:00
InductiveRangeCheckElimination.cpp [IRCE] Switch over to LLVM_DUMP_METHOD. NFCI. 2016-08-18 15:55:49 +00:00
IndVarSimplify.cpp [LCSSA] Implement linear algorithm for the isRecursivelyLCSSAForm 2016-10-11 13:37:22 +00:00
JumpThreading.cpp Jump threading: avoid trying to split edge into landingpad block (PR27840) 2016-10-03 18:18:04 +00:00
LICM.cpp Refactor LICM pass in preparation for LoopSink pass. 2016-10-03 18:52:08 +00:00
LLVMBuild.txt
LoadCombine.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Port to new streaming API for opt remarks 2016-09-30 00:42:43 +00:00
LoopDeletion.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopDistribute.cpp [LoopDistribute] Fix a typo in the pass name. 2016-10-05 00:44:52 +00:00
LoopIdiomRecognize.cpp [LoopIdiomRecognize] Merge two if conditions into one. NFCI. 2016-10-07 18:39:43 +00:00
LoopInstSimplify.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopInterchange.cpp [LoopInterchange] Track all dependencies, not just anti dependencies. 2016-09-21 19:16:47 +00:00
LoopLoadElimination.cpp LoopLoadElimination should preserve GlobalsAA. 2016-09-16 17:58:07 +00:00
LoopRerollPass.cpp ADT: Give ilist<T>::reverse_iterator a handle to the current node 2016-08-30 00:13:12 +00:00
LoopRotation.cpp Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
LoopSimplifyCFG.cpp Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopStrengthReduce.cpp [LoopStrenghtReduce] Refactoring and addition of a new target cost function. 2016-08-17 13:24:19 +00:00
LoopUnrollPass.cpp Reapply "[LoopUnroll] Use the upper bound of the loop trip count to fullly unroll a loop" 2016-10-12 21:29:38 +00:00
LoopUnswitch.cpp Cleanup : Use metadata preserving API for branch creation 2016-09-03 22:26:11 +00:00
LoopVersioningLICM.cpp [NFC] Loop Versioning for LICM code clean up 2016-10-14 23:00:36 +00:00
LowerAtomic.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerExpectIntrinsic.cpp [Profile] handle select instruction in 'expect' lowering 2016-09-02 22:03:40 +00:00
LowerGuardIntrinsic.cpp [PM] Port LowerGuardIntrinsic to the new PM. 2016-07-28 22:08:41 +00:00
MemCpyOptimizer.cpp [MemCpy] Add comments for r279769 2016-08-25 21:03:46 +00:00
MergedLoadStoreMotion.cpp IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags. 2016-09-07 23:39:04 +00:00
NaryReassociate.cpp Convert some depth first traversals to depth_first 2016-08-19 22:06:23 +00:00
PartiallyInlineLibCalls.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +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 [Reassociate] Add additional debug output. NFC. 2016-08-30 13:58:35 +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 [RS4GC] Fix comment to show TODO. NFC 2016-10-06 13:24:20 +00:00
Scalar.cpp [EarlyCSE] Change C API pass interface for EarlyCSE w/ MemorySSA 2016-09-01 15:07:46 +00:00
Scalarizer.cpp Scalarizer: Support scalarizing intrinsics 2016-07-25 20:02:54 +00:00
SCCP.cpp [SCCP] Don't delete side-effecting instructions 2016-08-24 18:10:21 +00:00
SeparateConstOffsetFromGEP.cpp Partially revert 279331, as we modify this instruction in the loop 2016-08-19 22:18:38 +00:00
SimplifyCFGPass.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
Sink.cpp Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
SpeculativeExecution.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
SROA.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
StraightLineStrengthReduce.cpp ScalarOpts: Use std::list for Candidates, NFC 2016-09-11 21:29:34 +00:00
StructurizeCFG.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
TailRecursionElimination.cpp Use the range variant of find/find_if instead of unpacking begin/end 2016-08-12 03:55:06 +00:00