summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSean Eveson <eveson.sean@gmail.com>2017-08-31 09:11:31 +0000
committerSean Eveson <eveson.sean@gmail.com>2017-08-31 09:11:31 +0000
commite15300ecf534eef3832c7e9591f3ea01f099bbbd (patch)
tree3a577eaa50f9059985532678862582f3e86eff81 /llvm/test
parentb036757f3df427b5b198b5f83fe05825637ead48 (diff)
downloadbcm5719-llvm-e15300ecf534eef3832c7e9591f3ea01f099bbbd.tar.gz
bcm5719-llvm-e15300ecf534eef3832c7e9591f3ea01f099bbbd.zip
[llvm-cov] Read in function names for filtering from a text file.
Summary: Add a -name-whitelist option, which behaves in the same way as -name, but it reads in multiple function names from the given input file(s). Reviewers: vsk Reviewed By: vsk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37111 llvm-svn: 312227
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/name_whitelist.covmappingbin0 -> 384 bytes
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/name_whitelist.cpp18
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/name_whitelist.proftext56
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/whitelist1.txt4
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/whitelist2.txt2
-rw-r--r--llvm/test/tools/llvm-cov/name_whitelist.test21
6 files changed, 101 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-cov/Inputs/name_whitelist.covmapping b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.covmapping
new file mode 100644
index 00000000000..6c067abd027
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/name_whitelist.cpp b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.cpp
new file mode 100644
index 00000000000..dec10ea1fb6
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.cpp
@@ -0,0 +1,18 @@
+int func1() {
+ return 1;
+}
+int func2() {
+ return 1;
+}
+int func3() {
+ return 1;
+}
+int func4() {
+ return 1;
+}
+int func5() {
+ return 1;
+}
+int func6() {
+ return 1;
+}
diff --git a/llvm/test/tools/llvm-cov/Inputs/name_whitelist.proftext b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.proftext
new file mode 100644
index 00000000000..c806d1565fb
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/name_whitelist.proftext
@@ -0,0 +1,56 @@
+_Z5func1v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
+_Z5func2v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
+_Z5func3v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
+_Z5func4v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
+main
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+1
+
+_Z5func5v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
+_Z5func6v
+# Func Hash:
+0
+# Num Counters:
+1
+# Counter Values:
+0
+
diff --git a/llvm/test/tools/llvm-cov/Inputs/whitelist1.txt b/llvm/test/tools/llvm-cov/Inputs/whitelist1.txt
new file mode 100644
index 00000000000..26463237ae9
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/whitelist1.txt
@@ -0,0 +1,4 @@
+# Comment
+
+whitelist_fun:*func1*
+whitelist_fun:*func2*
diff --git a/llvm/test/tools/llvm-cov/Inputs/whitelist2.txt b/llvm/test/tools/llvm-cov/Inputs/whitelist2.txt
new file mode 100644
index 00000000000..58098203503
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/Inputs/whitelist2.txt
@@ -0,0 +1,2 @@
+whitelist_fun:*func3*
+whitelist_fun:*func4*
diff --git a/llvm/test/tools/llvm-cov/name_whitelist.test b/llvm/test/tools/llvm-cov/name_whitelist.test
new file mode 100644
index 00000000000..3eb21e5d332
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/name_whitelist.test
@@ -0,0 +1,21 @@
+RUN: llvm-profdata merge %S/Inputs/name_whitelist.proftext -o %t.profdata
+
+RUN: llvm-cov show %S/Inputs/name_whitelist.covmapping -instr-profile=%t.profdata -path-equivalence=/tmp,%S/Inputs -name-whitelist=%S/Inputs/whitelist1.txt %S/Inputs/name_whitelist.cpp > %t.one_list
+RUN: FileCheck -input-file=%t.one_list -check-prefix=ONE_WHITELIST %s
+RUN: FileCheck -input-file=%t.one_list -check-prefix=ONE_WHITELIST_NEG %s
+ONE_WHITELIST: _Z5func1v:
+ONE_WHITELIST: _Z5func2v:
+ONE_WHITELIST_NEG-NOT: _Z5func3v:
+ONE_WHITELIST_NEG-NOT: _Z5func4v:
+ONE_WHITELIST_NEG-NOT: _Z5func5v:
+ONE_WHITELIST_NEG-NOT: _Z5func6v:
+
+RUN: llvm-cov show %S/Inputs/name_whitelist.covmapping -instr-profile=%t.profdata -path-equivalence=/tmp,%S/Inputs -name-whitelist=%S/Inputs/whitelist1.txt -name-whitelist=%S/Inputs/whitelist2.txt %S/Inputs/name_whitelist.cpp > %t.two_list
+RUN: FileCheck -input-file=%t.two_list -check-prefix=TWO_WHITELIST %s
+RUN: FileCheck -input-file=%t.two_list -check-prefix=TWO_WHITELIST_NEG %s
+TWO_WHITELIST: _Z5func1v:
+TWO_WHITELIST: _Z5func2v:
+TWO_WHITELIST: _Z5func3v:
+TWO_WHITELIST: _Z5func4v:
+TWO_WHITELIST_NEG-NOT: _Z5func5v:
+TWO_WHITELIST_NEG-NOT: _Z5func6v:
OpenPOWER on IntegriCloud