1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/test/Transforms
George Burgess IV a2fd52e3bc Fix bugs in the MemorySSA walker.
There are a few bugs in the walker that this patch addresses.
Primarily:
- Caching can break when we have multiple BBs without phis
- We weren't optimizing some phis properly
- Because of how the DFS iterator works, there were times where we
  wouldn't cache any results of our DFS

I left the test cases with FIXMEs in, because I'm not sure how much
effort it will take to get those to work (read: We'll probably
ultimately have to end up redoing the walker, or we'll have to come up
with some creative caching tricks), and more test coverage = better.

Differential Revision: http://reviews.llvm.org/D18065

llvm-svn: 264180
2016-03-23 18:31:55 +00:00
..
ADCE
AddDiscriminators Remove llvm::getDISubprogram in favor of Function::getSubprogram 2016-03-11 02:14:16 +00:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
BBVectorize
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare Keep CodeGenPrepare from preserving the domtree. 2016-03-22 21:25:08 +00:00
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation [CVP] Convert an SDiv to a UDiv if both operands are known to be nonnegative 2016-03-14 03:24:28 +00:00
CrossDSOCFI
DeadArgElim
DeadStoreElimination
EarlyCSE
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs [attrs] Handle convergent CallSites. 2016-03-14 20:18:54 +00:00
FunctionImport Rework linkInModule(), making it oblivious to ThinLTO 2016-03-19 00:40:31 +00:00
GCOVProfiling
GlobalDCE
GlobalOpt [GlobalOpt] Don't look through aliases when sorting names of globals. 2016-03-15 14:18:26 +00:00
GVN [PM] Port GVN to the new pass manager, wire it up, and teach a couple of 2016-03-11 08:50:55 +00:00
IndVarSimplify [IndVars] Fix PR26974: make sure replaceCongruentIVs doesn't break LCSSA 2016-03-21 12:44:29 +00:00
InferFunctionAttrs
Inline add checks for 'unpredictable' metadata preservation 2016-03-16 18:15:34 +00:00
InstCombine Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-03-22 20:24:34 +00:00
InstMerge
InstSimplify [InstSimplify] Restore fsub 0.0, (fsub 0.0, X) ==> X optzn 2016-02-29 12:18:25 +00:00
Internalize
IPConstantProp
IRCE [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
JumpThreading [JumpThreading] See through Cast Instructions 2016-03-16 04:52:52 +00:00
LCSSA
LICM [AliasSetTracker] Do not strip pointer casts when processing MemSetInst 2016-03-14 18:34:29 +00:00
LoadCombine
LoopDataPrefetch [LoopDataPrefetch] Add TTI to limit the number of iterations to prefetch ahead 2016-03-18 00:27:43 +00:00
LoopDeletion
LoopDistribute
LoopIdiom [LIR] Avoid turning non-temporal stores into memset 2016-02-17 21:00:06 +00:00
LoopInterchange
LoopLoadElim [LLE] Add missed LoopSimplify dependence 2016-03-10 23:54:39 +00:00
LoopReroll [PATCH] Force LoopReroll to reset the loop trip count value after reroll. 2016-03-22 13:50:57 +00:00
LoopRotate [LoopRotate] Don't perform loop rotation if the loop header calls a convergent function. 2016-02-12 21:01:33 +00:00
LoopSimplify
LoopSimplifyCFG Add LoopSimplifyCFG pass 2016-01-29 22:35:36 +00:00
LoopStrengthReduce Revert "[LSR] Create fewer redundant instructions." 2016-03-16 19:21:47 +00:00
LoopUnroll [LoopUnroll] Respect the convergent attribute. 2016-03-14 23:15:34 +00:00
LoopUnswitch
LoopVectorize Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-03-22 20:24:34 +00:00
LoopVersioning [LoopVersioning] Relax an assert for LCSSA PHIs 2016-03-22 18:38:15 +00:00
LoopVersioningLICM Corrected tests for Loop Versioning LICM, by adding “REQUIRES: asserts”. 2016-02-06 12:34:41 +00:00
LowerAtomic
LowerBitSets
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt Imporove load to store => memcpy 2016-03-14 22:52:27 +00:00
MergeFunc
MetaRenamer
NaryReassociate
ObjCARC [ObjCARC] Handle ARCInstKind::ClaimRV in OptimizeIndividualCalls. 2016-02-17 18:51:27 +00:00
PartiallyInlineLibCalls
PGOProfile [PGO] Skip value profile instrumentation of inline asm 2016-03-11 18:57:48 +00:00
PhaseOrdering
PlaceSafepoints
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [RS4GC] "Constant fold" the rs4gc-split-vector-values flag 2016-02-22 21:01:28 +00:00
SafeStack [safestack] Make sure the unsafe stack pointer is popped in all cases 2016-02-02 01:03:11 +00:00
SampleProfile Perform InstructioinCombiningPass before SampleProfile pass. 2016-03-01 22:53:02 +00:00
Scalarizer
ScalarRepl
SCCP
SeparateConstOffsetFromGEP [ValueTracking] Remove dead code from an old experiment 2016-03-03 19:44:06 +00:00
SimplifyCFG propagate 'unpredictable' metadata on select instructions 2016-03-17 15:30:52 +00:00
Sink
SLPVectorizer Fix tests that used CHECK-NEXT-NOT and CHECK-DAG-NOT. 2016-02-26 19:40:34 +00:00
SpeculativeExecution
SROA Have DataLayout::isLegalInteger() accept uint64_t 2016-03-18 23:19:29 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG AMDGPU: Remove some old intrinsic uses from tests 2016-02-11 06:02:01 +00:00
TailCallElim
TailDup
Util Fix bugs in the MemorySSA walker. 2016-03-23 18:31:55 +00:00
WholeProgramDevirt WholeProgramDevirt: introduce. 2016-02-09 22:50:34 +00:00