summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-07-29 22:29:23 +0000
committerJustin Bogner <mail@justinbogner.com>2014-07-29 22:29:23 +0000
commitcf36a366a81bdca3083cdcdf2f405a9071598230 (patch)
treeed0e2d9ba96ed693196b36d2b81b2cd09ee825ec
parent9e9623ca6417de15c02b3ba164a0813447de2776 (diff)
downloadbcm5719-llvm-cf36a366a81bdca3083cdcdf2f405a9071598230.tar.gz
bcm5719-llvm-cf36a366a81bdca3083cdcdf2f405a9071598230.zip
llvm-profdata: Clean up and reorganize some tests
This moves some tests around to make it clearer what's being tested, and adds very rudimentary comment syntax to the text input format to make specifying this kind of test a little bit simpler. llvm-svn: 214235
-rw-r--r--llvm/lib/ProfileData/InstrProfReader.cpp4
-rw-r--r--llvm/test/tools/llvm-profdata/Inputs/overflow.profdata4
-rw-r--r--llvm/test/tools/llvm-profdata/hash-mismatch.profdata17
-rw-r--r--llvm/test/tools/llvm-profdata/lit.local.cfg1
-rw-r--r--llvm/test/tools/llvm-profdata/multiple-inputs.test (renamed from llvm/test/tools/llvm-profdata/simple.test)2
-rw-r--r--llvm/test/tools/llvm-profdata/overflow.profdata12
-rw-r--r--llvm/test/tools/llvm-profdata/text-format-errors.test (renamed from llvm/test/tools/llvm-profdata/errors.test)6
7 files changed, 34 insertions, 12 deletions
diff --git a/llvm/lib/ProfileData/InstrProfReader.cpp b/llvm/lib/ProfileData/InstrProfReader.cpp
index 0b367282e14..e8f64614df5 100644
--- a/llvm/lib/ProfileData/InstrProfReader.cpp
+++ b/llvm/lib/ProfileData/InstrProfReader.cpp
@@ -83,8 +83,8 @@ void InstrProfIterator::Increment() {
}
std::error_code TextInstrProfReader::readNextRecord(InstrProfRecord &Record) {
- // Skip empty lines.
- while (!Line.is_at_end() && Line->empty())
+ // Skip empty lines and comments.
+ while (!Line.is_at_end() && (Line->empty() || Line->startswith("#")))
++Line;
// If we hit EOF while looking for a name, we're done.
if (Line.is_at_end())
diff --git a/llvm/test/tools/llvm-profdata/Inputs/overflow.profdata b/llvm/test/tools/llvm-profdata/Inputs/overflow.profdata
deleted file mode 100644
index c9a9d697ecf..00000000000
--- a/llvm/test/tools/llvm-profdata/Inputs/overflow.profdata
+++ /dev/null
@@ -1,4 +0,0 @@
-overflow
-1
-1
-9223372036854775808
diff --git a/llvm/test/tools/llvm-profdata/hash-mismatch.profdata b/llvm/test/tools/llvm-profdata/hash-mismatch.profdata
new file mode 100644
index 00000000000..12632588b64
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/hash-mismatch.profdata
@@ -0,0 +1,17 @@
+# RUN: llvm-profdata merge %s -o %t.out 2>&1 | FileCheck %s
+# CHECK: hash-mismatch.profdata: foo: Function hash mismatch
+
+foo
+3
+3
+1
+2
+3
+
+foo
+4
+4
+11
+22
+33
+44
diff --git a/llvm/test/tools/llvm-profdata/lit.local.cfg b/llvm/test/tools/llvm-profdata/lit.local.cfg
new file mode 100644
index 00000000000..33bc0a9ac58
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/lit.local.cfg
@@ -0,0 +1 @@
+config.suffixes.add('.profdata')
diff --git a/llvm/test/tools/llvm-profdata/simple.test b/llvm/test/tools/llvm-profdata/multiple-inputs.test
index 18741dd2ba8..82d417e2b7b 100644
--- a/llvm/test/tools/llvm-profdata/simple.test
+++ b/llvm/test/tools/llvm-profdata/multiple-inputs.test
@@ -1,3 +1,5 @@
+Some very basic tests for the multiple input cases.
+
RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo3-2.profdata -o %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s --check-prefix=FOO3
RUN: llvm-profdata merge %p/Inputs/foo3-2.profdata %p/Inputs/foo3-1.profdata -o %t
diff --git a/llvm/test/tools/llvm-profdata/overflow.profdata b/llvm/test/tools/llvm-profdata/overflow.profdata
new file mode 100644
index 00000000000..62ced0552ce
--- /dev/null
+++ b/llvm/test/tools/llvm-profdata/overflow.profdata
@@ -0,0 +1,12 @@
+# RUN: llvm-profdata merge %s -o %t.out 2>&1 | FileCheck %s
+# CHECK: overflow.profdata: overflow: Counter overflow
+
+overflow
+1
+1
+9223372036854775808
+
+overflow
+1
+1
+9223372036854775808
diff --git a/llvm/test/tools/llvm-profdata/errors.test b/llvm/test/tools/llvm-profdata/text-format-errors.test
index 28262efe063..870001f4816 100644
--- a/llvm/test/tools/llvm-profdata/errors.test
+++ b/llvm/test/tools/llvm-profdata/text-format-errors.test
@@ -1,9 +1,3 @@
-RUN: llvm-profdata merge %p/Inputs/foo3-1.profdata %p/Inputs/foo4-1.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=HASH
-HASH: foo4-1.profdata: foo: Function hash mismatch
-
-RUN: llvm-profdata merge %p/Inputs/overflow.profdata %p/Inputs/overflow.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=OVERFLOW
-OVERFLOW: overflow.profdata: overflow: Counter overflow
-
RUN: not llvm-profdata show %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.profdata %p/Inputs/invalid-count-later.profdata -o %t.out 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
INVALID-COUNT-LATER: error: {{.*}}invalid-count-later.profdata: Malformed profile data
OpenPOWER on IntegriCloud