summaryrefslogtreecommitdiff
path: root/test/Profile
diff options
context:
space:
mode:
authorEaswaran Raman <eraman@google.com>2015-12-17 19:14:27 +0000
committerEaswaran Raman <eraman@google.com>2015-12-17 19:14:27 +0000
commit42e1f3ffdabd992dce56017c8b040aad9450d6ba (patch)
tree6aa99ecc0b1ae649c29b667c09861470d4ccf5c0 /test/Profile
parent18d14b6087881708ca62c7c07f1a514c8da57d23 (diff)
Attach maximum function count to Module when using PGO mode.
This sets the maximum entry count among all functions in the program to the module using module flags. This allows the optimizer to use this information. Differential Revision: http://reviews.llvm.org/D15163 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Profile')
-rw-r--r--test/Profile/Inputs/max-function-count.proftext26
-rw-r--r--test/Profile/max-function-count.c24
2 files changed, 50 insertions, 0 deletions
diff --git a/test/Profile/Inputs/max-function-count.proftext b/test/Profile/Inputs/max-function-count.proftext
new file mode 100644
index 0000000000..c744f7af9d
--- /dev/null
+++ b/test/Profile/Inputs/max-function-count.proftext
@@ -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
+
diff --git a/test/Profile/max-function-count.c b/test/Profile/max-function-count.c
new file mode 100644
index 0000000000..39490d7b27
--- /dev/null
+++ b/test/Profile/max-function-count.c
@@ -0,0 +1,24 @@
+// Test that maximum function counts are 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, !"MaxFunctionCount", i32 2}