mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-25 21:45:21 +00:00
cfe129ba52
Somewhat amazingly, this only requires teaching it to clean them up when deleting a dead function from the graph. And we already have exactly the necessary data structures to do that in the parent RefSCCs. This allows ArgPromote to work in a much simpler way be merely letting reference edges linger in the graph after the causing IR is deleted. We will clean up these edges when we run any function pass over the IR, but don't remove them eagerly. This avoids all of the quadratic update issues both in the current pass manager and in my previous attempt with the new pass manager. Differential Revision: https://reviews.llvm.org/D29579 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294663 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AliasAnalysisTest.cpp | ||
BlockFrequencyInfoTest.cpp | ||
BranchProbabilityInfoTest.cpp | ||
CallGraphTest.cpp | ||
CFGTest.cpp | ||
CGSCCPassManagerTest.cpp | ||
CMakeLists.txt | ||
LazyCallGraphTest.cpp | ||
LoopInfoTest.cpp | ||
MemoryBuiltinsTest.cpp | ||
ProfileSummaryInfoTest.cpp | ||
ScalarEvolutionTest.cpp | ||
TargetLibraryInfoTest.cpp | ||
TBAATest.cpp | ||
UnrollAnalyzer.cpp | ||
ValueTrackingTest.cpp |