diff options
author | Manman Ren <manman.ren@gmail.com> | 2019-03-04 22:28:38 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2019-03-04 22:28:38 +0000 |
commit | da91a27b9d940dde91a8a3090d2f26ed17d8295e (patch) | |
tree | c2e9af522d9d9311240399d644478fbc05ddaf91 /test/profile | |
parent | 75668663b08baba0b6e9e1d2f047b3e69d6baf73 (diff) | |
download | compiler-rt-da91a27b9d940dde91a8a3090d2f26ed17d8295e.tar.gz |
Order File Instrumentation: dump the data in compiler-rt
The profile data will be dumped in a file default_xxx.profraw.order.
Differential Revision: https://reviews.llvm.org/D57530
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@355343 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/profile')
-rw-r--r-- | test/profile/Inputs/instrprof-order-file-2.c | 7 | ||||
-rw-r--r-- | test/profile/Inputs/instrprof-order-file.c | 17 | ||||
-rw-r--r-- | test/profile/instrprof-order-file.test | 16 |
3 files changed, 40 insertions, 0 deletions
diff --git a/test/profile/Inputs/instrprof-order-file-2.c b/test/profile/Inputs/instrprof-order-file-2.c new file mode 100644 index 000000000..ee4485756 --- /dev/null +++ b/test/profile/Inputs/instrprof-order-file-2.c @@ -0,0 +1,7 @@ +__attribute__((noinline)) int f(int a) { + return a + 1; +} + +__attribute__((noinline)) int g(int a) { + return a + 2; +} diff --git a/test/profile/Inputs/instrprof-order-file.c b/test/profile/Inputs/instrprof-order-file.c new file mode 100644 index 000000000..9251a8e25 --- /dev/null +++ b/test/profile/Inputs/instrprof-order-file.c @@ -0,0 +1,17 @@ +void __llvm_profile_initialize_file(void); +int __llvm_orderfile_dump(void); + +__attribute__((noinline)) int f(int a); + +__attribute__((noinline)) int g(int a); + +int main(int argc, const char *argv[]) { + int a = f(argc); + int t = 0; + for (int i = 0; i < argc; i++) + t += g(a); + f(t); + __llvm_profile_initialize_file(); + __llvm_orderfile_dump(); + return 0; +} diff --git a/test/profile/instrprof-order-file.test b/test/profile/instrprof-order-file.test new file mode 100644 index 000000000..b1133a3e8 --- /dev/null +++ b/test/profile/instrprof-order-file.test @@ -0,0 +1,16 @@ +// UNSUPPORTED: windows +// RUN: rm -rf %t.dir && mkdir -p %t.dir +// RUN: cd %t.dir +// +// RUN: %clang -forder-file-instrumentation -O1 -o %t.2 %S/Inputs/instrprof-order-file-2.c %S/Inputs/instrprof-order-file.c -mllvm -orderfile-write-mapping="mapping.txt" +// RUN: %run %t.2 ANY +// RUN: od -h default.profraw.order | FileCheck %s +// RUN: cat mapping.txt | FileCheck %s --check-prefix=MAPPING + +// Make sure we have MD5 for main, then f, then g. +// CHECK: 0000000 d5fa e78d 6436 db95 a18f dd4c 4f75 cc91 +// CHECK: 0000020 f5b2 47ff 6643 b671 0000 0000 0000 0000 + +// MAPPING: MD5 cc914f75dd4ca18f f +// MAPPING: MD5 b671664347fff5b2 g +// MAPPING: MD5 db956436e78dd5fa main |