Attach profile summary information to Module.
Differential Revision: http://reviews.llvm.org/D18289 llvm-svn: 264342
This commit is contained in:
parent
699d96535d
commit
8160812e26
|
@ -396,6 +396,7 @@ void CodeGenModule::Release() {
|
||||||
AddGlobalCtor(OpenMPRegistrationFunction, 0);
|
AddGlobalCtor(OpenMPRegistrationFunction, 0);
|
||||||
if (PGOReader) {
|
if (PGOReader) {
|
||||||
getModule().setMaximumFunctionCount(PGOReader->getMaximumFunctionCount());
|
getModule().setMaximumFunctionCount(PGOReader->getMaximumFunctionCount());
|
||||||
|
getModule().setProfileSummary(PGOReader->getSummary().getMD(VMContext));
|
||||||
if (PGOStats.hasDiagnostics())
|
if (PGOStats.hasDiagnostics())
|
||||||
PGOStats.reportDiagnostics(getDiags(), getCodeGenOpts().MainFileName);
|
PGOStats.reportDiagnostics(getDiags(), getCodeGenOpts().MainFileName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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]+}}}
|
Loading…
Reference in New Issue