mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
510f86ea5c
In order for more complex updates of MSSA to happen (e.g. those in D45299), MemoryDefs need to be actual `Use`s of what they're optimized to. This patch makes that happen. In addition, this patch changes our optimization behavior for Defs slightly: we'll now consider a Def optimization invalid if the MemoryAccess it's optimized to changes. That we weren't doing this before was a bug, but given that we were tracking these with a WeakVH before, it was sort of difficult for that to matter. We're already have both of these behaviors for MemoryUses. The difference is that a MemoryUse's defining access is always its optimized access, and defining accesses are always `Use`s (in the LLVM sense). Nothing exploded when testing a stage3 clang+llvm locally, so... This also includes the test-case promised in r340461. llvm-svn: 340577 |
||
---|---|---|
.. | ||
AliasAnalysisTest.cpp | ||
AliasSetTrackerTest.cpp | ||
BlockFrequencyInfoTest.cpp | ||
BranchProbabilityInfoTest.cpp | ||
CallGraphTest.cpp | ||
CFGTest.cpp | ||
CGSCCPassManagerTest.cpp | ||
CMakeLists.txt | ||
GlobalsModRefTest.cpp | ||
LazyCallGraphTest.cpp | ||
LoopInfoTest.cpp | ||
MemoryBuiltinsTest.cpp | ||
MemorySSA.cpp | ||
OrderedBasicBlockTest.cpp | ||
PhiValuesTest.cpp | ||
ProfileSummaryInfoTest.cpp | ||
ScalarEvolutionTest.cpp | ||
SparsePropagation.cpp | ||
TargetLibraryInfoTest.cpp | ||
TBAATest.cpp | ||
UnrollAnalyzer.cpp | ||
ValueLatticeTest.cpp | ||
ValueTrackingTest.cpp |