summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-profdata
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-07-30 23:36:06 +0000
committerJustin Bogner <mail@justinbogner.com>2014-07-30 23:36:06 +0000
commit4ce7f4462a617790b56297694ba8e93b54753400 (patch)
tree37b021dbb546dcc7ff87da8241aa2e1e73456717 /llvm/test/tools/llvm-profdata
parent08dfd8f25fa20d95244b8b28b88b7687dfb2008a (diff)
downloadbcm5719-llvm-4ce7f4462a617790b56297694ba8e93b54753400.tar.gz
bcm5719-llvm-4ce7f4462a617790b56297694ba8e93b54753400.zip
llvm-profdata: Add a test for mismatched numbers of counters
llvm-svn: 214360
Diffstat (limited to 'llvm/test/tools/llvm-profdata')
-rw-r--r--llvm/test/tools/llvm-profdata/count-mismatch.proftext40
1 files changed, 40 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-profdata/count-mismatch.proftext b/llvm/test/tools/llvm-profdata/count-mismatch.proftext
new file mode 100644
index 00000000000..1a2e73fbffd
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/count-mismatch.proftext
@@ -0,0 +1,40 @@
+# Make sure we don't try to combine counters with the same function
+# name and a matching hash if the number of counters differs
+
+# RUN: llvm-profdata merge %s -o %t.profdata 2>&1 | FileCheck -check-prefix=MERGE_ERRS %s
+# RUN: llvm-profdata show %t.profdata -all-functions -counts > %t.out
+# RUN: FileCheck %s -input-file %t.out
+foo
+1024
+4
+1
+2
+4
+8
+
+# The hash matches, but we can't combine these because the number of
+# counters differs.
+# MERGE_ERRS: count-mismatch.proftext: foo: Function count mismatch
+foo
+1024
+3
+2
+4
+8
+
+# This one does match, so it should combine with the first just fine.
+# CHECK: Hash: 0x{{0+}}400
+# CHECK-NEXT: Counters: 4
+# CHECK-NEXT: Function count: 5
+# CHECK-NEXT: Block counts: [10, 20, 40]
+foo
+1024
+4
+4
+8
+16
+32
+
+# CHECK: Total functions: 1
+# CHECK: Maximum function count: 5
+# CHECK: Maximum internal block count: 40
OpenPOWER on IntegriCloud