diff options
author | Dehao Chen <dehao@google.com> | 2016-02-22 22:46:21 +0000 |
---|---|---|
committer | Dehao Chen <dehao@google.com> | 2016-02-22 22:46:21 +0000 |
commit | 6c73b49911e29dc89d40dd95e5548d2359d53414 (patch) | |
tree | 1e413ebe4674435571fe8a822b9b0c202b5ba748 | |
parent | 3a7def09fece8d6a403f5002dd4811704fa2b3c4 (diff) | |
download | bcm5719-llvm-6c73b49911e29dc89d40dd95e5548d2359d53414.tar.gz bcm5719-llvm-6c73b49911e29dc89d40dd95e5548d2359d53414.zip |
Set function entry count as 0 if sample profile is not found for the function.
Summary: This change makes the sample profile's behavior consistent with instr profile.
Reviewers: davidxl, eraman, dnovillo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D17522
llvm-svn: 261587
-rw-r--r-- | llvm/lib/Transforms/IPO/SampleProfile.cpp | 1 | ||||
-rw-r--r-- | llvm/test/Transforms/SampleProfile/entry_counts.ll | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp index 9fb6fac9911..b8636665a82 100644 --- a/llvm/lib/Transforms/IPO/SampleProfile.cpp +++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp @@ -1257,6 +1257,7 @@ bool SampleProfileLoader::runOnModule(Module &M) { } bool SampleProfileLoader::runOnFunction(Function &F) { + F.setEntryCount(0); Samples = Reader->getSamplesFor(F); if (!Samples->empty()) return emitAnnotations(F); diff --git a/llvm/test/Transforms/SampleProfile/entry_counts.ll b/llvm/test/Transforms/SampleProfile/entry_counts.ll index 50cd575295a..6d1d4318abf 100644 --- a/llvm/test/Transforms/SampleProfile/entry_counts.ll +++ b/llvm/test/Transforms/SampleProfile/entry_counts.ll @@ -8,6 +8,13 @@ entry: ret void, !dbg !9 } +; This function does not have profile, check if function_entry_count is 0 +; CHECK: {{.*}} = !{!"function_entry_count", i64 0} +define void @no_profile() { +entry: + ret void +} + !llvm.dbg.cu = !{!0} !llvm.module.flags = !{!6, !7} !llvm.ident = !{!8} |