Attach profile summary information to Module.

Differential Revision: http://reviews.llvm.org/D18289

llvm-svn: 264342
This commit is contained in:
Easwaran Raman 2016-03-24 21:32:25 +00:00
parent 699d96535d
commit 8160812e26
3 changed files with 52 additions and 0 deletions

View File

@ -396,6 +396,7 @@ void CodeGenModule::Release() {
AddGlobalCtor(OpenMPRegistrationFunction, 0);
if (PGOReader) {
getModule().setMaximumFunctionCount(PGOReader->getMaximumFunctionCount());
getModule().setProfileSummary(PGOReader->getSummary().getMD(VMContext));
if (PGOStats.hasDiagnostics())
PGOStats.reportDiagnostics(getDiags(), getCodeGenOpts().MainFileName);
}

View File

@ -0,0 +1,26 @@
begin
# Func Hash:
10
# Num Counters:
2
# Counter Values:
1
0
main
# Func Hash:
0
# Num Counters:
1
# Counter Values:
1
end
# Func Hash:
10
# Num Counters:
2
# Counter Values:
2
2

View File

@ -0,0 +1,25 @@
// Test that profile summary is set correctly.
// RUN: llvm-profdata merge %S/Inputs/max-function-count.proftext -o %t.profdata
// RUN: %clang %s -o - -mllvm -disable-llvm-optzns -emit-llvm -S -fprofile-instr-use=%t.profdata | FileCheck %s
//
int begin(int i) {
if (i)
return 0;
return 1;
}
int end(int i) {
if (i)
return 0;
return 1;
}
int main(int argc, const char *argv[]) {
begin(0);
end(1);
end(1);
return 0;
}
// CHECK: {{![0-9]+}} = !{i32 1, !"ProfileSummary", {{![0-9]+}}}
// CHECK: {{![0-9]+}} = !{!"DetailedSummary", {{![0-9]+}}}