1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/unittests/Analysis
Hiroshi Yamauchi c65f25e192 [PGO] Improve the working set size heuristics under the partial sample PGO.
Summary:
The working set size heuristics (ProfileSummaryInfo::hasHugeWorkingSetSize)
under the partial sample PGO may not be accurate because the profile is partial
and the number of hot profile counters in the ProfileSummary may not reflect the
actual working set size of the program being compiled.

To improve this, the (approximated) ratio of the the number of profile counters
of the program being compiled to the number of profile counters in the partial
sample profile is computed (which is called the partial profile ratio) and the
working set size of the profile is scaled by this ratio to reflect the working
set size of the program being compiled and used for the working set size
heuristics.

The partial profile ratio is approximated based on the number of the basic
blocks in the program and the NumCounts field in the ProfileSummary and computed
through the thin LTO indexing. This means that there is the limitation that the
scaled working set size is available to the thin LTO post link passes only.

Reviewers: davidxl

Subscribers: mgorny, eraman, hiraditya, steven_wu, dexonsmith, arphaman, dang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79831
2020-06-01 10:29:23 -07:00
..
ML [llvm] Add function feature extraction analysis 2020-05-27 13:38:50 -07:00
AliasAnalysisTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
AliasSetTrackerTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AssumeBundleQueriesTest.cpp [AssumeBundles] Refactor asssume builder 2020-04-25 13:43:52 +02:00
BasicAliasAnalysisTest.cpp [AliasAnalysis] Initialize a member variable that may be used by unit test. 2019-08-02 08:05:14 +00:00
BlockFrequencyInfoTest.cpp Replace llvm::isPodLike<...> by llvm::is_trivially_copyable<...> 2019-01-20 21:19:56 +00:00
BranchProbabilityInfoTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CallGraphTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CaptureTrackingTest.cpp [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
CFGTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
CGSCCPassManagerTest.cpp [NewPassManager] Add assertions when getting statefull cached analysis. 2020-05-13 12:38:38 -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 [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
DomTreeUpdaterTest.cpp [DTU] Refine the interface and logic of applyUpdates 2019-02-22 13:48:38 +00:00
GlobalsModRefTest.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
IVDescriptorsTest.cpp Save the induction binary operator in IVDescriptors for non FP induction variables. 2019-05-14 13:26:36 +00:00
LazyCallGraphTest.cpp Re-land "Add LazyCallGraph API to add function to RefSCC" 2020-02-17 16:59:25 -05:00
LoadsTest.cpp [Loads] Handle simple cases with same base pointer with constant offsets in FindAvailableLoadedValue when AA is null. 2020-01-29 13:05:46 -08:00
LoopInfoTest.cpp Rename LoopInfo::isRotated() to LoopInfo::isRotatedForm(). 2019-12-12 14:22:36 -05:00
LoopNestTest.cpp [LoopNest]: Analysis to discover properties of a loop nest. 2020-03-03 18:25:19 +00:00
MemoryBuiltinsTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MemorySSATest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
OrderedInstructionsTest.cpp [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
PhiValuesTest.cpp [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
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 [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
UnrollAnalyzerTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
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