1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/unittests/Analysis
Wenlei He f6c8ca4756 [NewPM] Avoid redundant CGSCC run for updated SCC
Summary:
When an SCC got split due to inlining, we have two mechanisms for reprocessing the updated SCC, first is UR.UpdatedC
that repeatedly rerun the new, current SCC; second is a worklist for all newly split SCCs. We can avoid rerun of
the same SCC when the SCC is set to be processed by both mechanisms *back to back*. In pathological cases, such redundant
rerun could cause exponential size growth due to inlining along cycles, even when there's no SCC mutation and hence
convergence is not a problem.

Note that it's ok to have SCC updated and rerun immediately, and also in the work list if we have actually moved an SCC
to be topologically "below" the current one due to merging. In that case, we will need to revisit the current SCC after
those moved SCCs. For that reason, the redundant avoidance here only targets back to back rerun of the same SCC - the
case described by the now removed FIXME comment.

Reviewers: chandlerc, wmi

Subscribers: llvm-commits, hoy

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80589
2020-06-14 19:54:52 -07:00
..
ML [llvm] Add function feature extraction analysis 2020-05-27 13:38:50 -07:00
AliasAnalysisTest.cpp
AliasSetTrackerTest.cpp TargetLibraryInfo.h - reduce Triple.h include to forward declaration. NFC. 2020-06-05 14:35:30 +01:00
AssumeBundleQueriesTest.cpp [AssumeBundles] Refactor asssume builder 2020-04-25 13:43:52 +02:00
BasicAliasAnalysisTest.cpp
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CallGraphTest.cpp
CaptureTrackingTest.cpp
CFGTest.cpp
CGSCCPassManagerTest.cpp [NewPM] Avoid redundant CGSCC run for updated SCC 2020-06-14 19:54:52 -07:00
CMakeLists.txt [llvm] Add function feature extraction analysis 2020-05-27 13:38:50 -07:00
DDGTest.cpp [DDG] Data Dependence Graph - Add query function for memory dependencies between two nodes 2020-05-27 12:40:14 -04:00
DivergenceAnalysisTest.cpp
DomTreeUpdaterTest.cpp
GlobalsModRefTest.cpp TargetLibraryInfo.h - reduce Triple.h include to forward declaration. NFC. 2020-06-05 14:35:30 +01:00
IVDescriptorsTest.cpp
LazyCallGraphTest.cpp TargetLibraryInfo.h - reduce Triple.h include to forward declaration. NFC. 2020-06-05 14:35:30 +01:00
LoadsTest.cpp
LoopInfoTest.cpp
LoopNestTest.cpp LoopAnalysisManager.h - reduce includes to forward declarations. NFC. 2020-06-06 14:06:46 +01:00
MemoryBuiltinsTest.cpp
MemorySSATest.cpp
OrderedInstructionsTest.cpp
PhiValuesTest.cpp
ProfileSummaryInfoTest.cpp [PGO] Improve the working set size heuristics under the partial sample PGO. 2020-06-01 10:29:23 -07:00
ScalarEvolutionTest.cpp [SCEV] Move ScalarEvolutionExpander.cpp to Transforms/Utils (NFC). 2020-05-20 10:53:40 +01:00
SparsePropagation.cpp [CallSite removal][Analysis] Use CallBase instead of CallSite in SparsePropagation unit test. NFC 2020-04-19 22:39:24 -07:00
TargetLibraryInfoTest.cpp [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
TBAATest.cpp
UnrollAnalyzerTest.cpp
ValueLatticeTest.cpp [ValueLattice] Remove unused DataLayout parameter of mergeIn, NFC 2020-04-14 13:32:53 +02:00
ValueTrackingTest.cpp [ValueTracking] Use assumptions in computeConstantRange. 2020-05-23 20:07:52 +01:00
VectorFunctionABITest.cpp [VFABI] Fix parsing of uniform parameters that shouldn't expect step or positional data. 2020-05-27 16:07:45 +00:00
VectorUtilsTest.cpp [VFDatabase] Scalar functions are vector functions with VF =1 2020-04-29 17:20:37 +00:00