diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Analysis/ProfileSummaryInfo.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof | 2 | ||||
| -rw-r--r-- | llvm/test/Transforms/SampleProfile/function_metadata.ll | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/ProfileSummaryInfo.cpp b/llvm/lib/Analysis/ProfileSummaryInfo.cpp index fb591f5d6a6..aeaa5172b3e 100644 --- a/llvm/lib/Analysis/ProfileSummaryInfo.cpp +++ b/llvm/lib/Analysis/ProfileSummaryInfo.cpp @@ -226,13 +226,13 @@ bool ProfileSummaryInfo::isColdCount(uint64_t C) { uint64_t ProfileSummaryInfo::getOrCompHotCountThreshold() { if (!HotCountThreshold) computeThresholds(); - return HotCountThreshold && HotCountThreshold.getValue(); + return HotCountThreshold ? HotCountThreshold.getValue() : UINT64_MAX; } uint64_t ProfileSummaryInfo::getOrCompColdCountThreshold() { if (!ColdCountThreshold) computeThresholds(); - return ColdCountThreshold && ColdCountThreshold.getValue(); + return ColdCountThreshold ? ColdCountThreshold.getValue() : 0; } bool ProfileSummaryInfo::isHotBB(const BasicBlock *B, BlockFrequencyInfo *BFI) { diff --git a/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof index 4a348d9fa07..239b5014b36 100644 --- a/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof +++ b/llvm/test/Transforms/SampleProfile/Inputs/function_metadata.prof @@ -1,4 +1,6 @@ test:10000:0 + 2: 100 + 3: 100 3: foo:1000 3: bar:200 4: baz:10 diff --git a/llvm/test/Transforms/SampleProfile/function_metadata.ll b/llvm/test/Transforms/SampleProfile/function_metadata.ll index 41cff6e7977..18363514711 100644 --- a/llvm/test/Transforms/SampleProfile/function_metadata.ll +++ b/llvm/test/Transforms/SampleProfile/function_metadata.ll @@ -27,8 +27,10 @@ define void @test_liveness() !dbg !12 { } ; GUIDs of foo, bar, foo1, foo2 and foo3 should be included in the metadata to -; make sure hot inline stacks are imported. -; CHECK: ![[ENTRY_TEST]] = !{!"function_entry_count", i64 1, i64 2494702099028631698, i64 6699318081062747564, i64 7546896869197086323, i64 7682762345278052905, i64 -7908226060800700466, i64 -2012135647395072713} +; make sure hot inline stacks are imported. The total count of baz is lower +; than the hot cutoff threshold and its GUID should not be included in the +; metadata. +; CHECK: ![[ENTRY_TEST]] = !{!"function_entry_count", i64 1, i64 2494702099028631698, i64 6699318081062747564, i64 7682762345278052905, i64 -7908226060800700466, i64 -2012135647395072713} ; Check GUIDs for both foo and foo_available are included in the metadata to ; make sure the liveness analysis can capture the dependency from test_liveness |

