From b4fc4cbee60b2d8daf34f9e502caba65b790e8b7 Mon Sep 17 00:00:00 2001 From: Xinliang David Li Date: Thu, 21 Jan 2016 02:35:59 +0000 Subject: re-submit test case (withright format-version) llvm-svn: 258384 --- llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat | Bin 0 -> 2125219 bytes .../tools/llvm-cov/Inputs/elf_binary_comdat.profdata | Bin 0 -> 1040 bytes llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h | 19 +++++++++++++++++++ llvm/test/tools/llvm-cov/cov-comdat.test | 10 ++++++++++ 4 files changed, 29 insertions(+) create mode 100755 llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat create mode 100644 llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata create mode 100644 llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h create mode 100644 llvm/test/tools/llvm-cov/cov-comdat.test (limited to 'llvm/test') diff --git a/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat new file mode 100755 index 00000000000..319322d747f Binary files /dev/null and b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat differ diff --git a/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata new file mode 100644 index 00000000000..85667041e2c Binary files /dev/null and b/llvm/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata differ diff --git a/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h b/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h new file mode 100644 index 00000000000..e1227167cd4 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h @@ -0,0 +1,19 @@ +template class FOO { +public: + FOO() : t(0) {} + + T DoIt(T ti); + +private: + T t; +}; + +template T FOO::DoIt(T ti) { // HEADER: 2| [[@LINE]]|template + for (T I = 0; I < ti; I++) { // HEADER: 22| [[@LINE]]| for (T + t += I; // HEADER: 20| [[@LINE]]| t += I; + if (I > ti / 2) // HEADER: 20| [[@LINE]]| if (I > ti + t -= 1; // HEADER: 8| [[@LINE]]| t -= 1; + } // HEADER: 10| [[@LINE]]| } + // HEADER: 1| [[@LINE]]| + return t; // HEADER: 1| [[@LINE]]| return t; +} diff --git a/llvm/test/tools/llvm-cov/cov-comdat.test b/llvm/test/tools/llvm-cov/cov-comdat.test new file mode 100644 index 00000000000..f44434c0c22 --- /dev/null +++ b/llvm/test/tools/llvm-cov/cov-comdat.test @@ -0,0 +1,10 @@ +REQUIRES: shell + +# The binary contains two (merged) covmap sections which +# have duplicate CovMapRecords from comdat (template instantation). +# This test makes sure the reader reads it properly. It also +# tests that the coverage data from different instantiations +# of the same template function are properly merged in show +# output. + +// RUN: llvm-cov show %S/Inputs/elf_binary_comdat -instr-profile %S/Inputs/elf_binary_comdat.profdata -filename-equivalence %S/Inputs/instrprof-comdat.h | FileCheck --check-prefix=HEADER %S/Inputs/instrprof-comdat.h -- cgit v1.2.3