diff options
| author | Justin Bogner <mail@justinbogner.com> | 2014-07-29 22:29:23 +0000 |
|---|---|---|
| committer | Justin Bogner <mail@justinbogner.com> | 2014-07-29 22:29:23 +0000 |
| commit | cf36a366a81bdca3083cdcdf2f405a9071598230 (patch) | |
| tree | ed0e2d9ba96ed693196b36d2b81b2cd09ee825ec | |
| parent | 9e9623ca6417de15c02b3ba164a0813447de2776 (diff) | |
| download | bcm5719-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.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-profdata/Inputs/overflow.profdata | 4 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-profdata/hash-mismatch.profdata | 17 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-profdata/lit.local.cfg | 1 | ||||
| -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.profdata | 12 | ||||
| -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 |

