summaryrefslogtreecommitdiff
path: root/test/profile/Inputs
diff options
context:
space:
mode:
Diffstat (limited to 'test/profile/Inputs')
-rw-r--r--test/profile/Inputs/comdat_rename.h13
-rw-r--r--test/profile/Inputs/comdat_rename_1.cc33
-rw-r--r--test/profile/Inputs/comdat_rename_2.cc18
-rw-r--r--test/profile/Inputs/extern_template.cpp14
-rw-r--r--test/profile/Inputs/extern_template.h17
-rw-r--r--test/profile/Inputs/extern_template1.cpp9
-rw-r--r--test/profile/Inputs/extern_template2.cpp9
-rw-r--r--test/profile/Inputs/gcc-flag-compatibility.c8
-rw-r--r--test/profile/Inputs/instrprof-alloc.c41
-rw-r--r--test/profile/Inputs/instrprof-comdat-1.cpp17
-rw-r--r--test/profile/Inputs/instrprof-comdat-2.cpp12
-rw-r--r--test/profile/Inputs/instrprof-comdat.h23
-rw-r--r--test/profile/Inputs/instrprof-dlopen-dlclose-main.c86
-rw-r--r--test/profile/Inputs/instrprof-dlopen-dlclose-main.c.gcov91
-rw-r--r--test/profile/Inputs/instrprof-dlopen-dlclose-main_three-libs.c.gcov91
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func.c1
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func.c.gcov6
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func2.c1
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func2.c.gcov6
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func3.c1
-rw-r--r--test/profile/Inputs/instrprof-dlopen-func3.c.gcov6
-rw-r--r--test/profile/Inputs/instrprof-dlopen-main.c47
-rw-r--r--test/profile/Inputs/instrprof-dynamic-a.cpp7
-rw-r--r--test/profile/Inputs/instrprof-dynamic-b.cpp7
-rw-r--r--test/profile/Inputs/instrprof-dynamic-header.h7
-rw-r--r--test/profile/Inputs/instrprof-dynamic-main.cpp9
-rw-r--r--test/profile/Inputs/instrprof-file_ex.c59
-rw-r--r--test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c16
-rw-r--r--test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov21
-rw-r--r--test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c13
-rw-r--r--test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov18
-rw-r--r--test/profile/Inputs/instrprof-gcov-exceptions.cpp11
-rw-r--r--test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov16
-rw-r--r--test/profile/Inputs/instrprof-gcov-execlp.c15
-rw-r--r--test/profile/Inputs/instrprof-gcov-execlp.c.gcov23
-rw-r--r--test/profile/Inputs/instrprof-gcov-execvp.c17
-rw-r--r--test/profile/Inputs/instrprof-gcov-execvp.c.gcov25
-rw-r--r--test/profile/Inputs/instrprof-gcov-fork.c15
-rw-r--r--test/profile/Inputs/instrprof-gcov-fork.c.gcov23
-rw-r--r--test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c20
-rw-r--r--test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov34
-rw-r--r--test/profile/Inputs/instrprof-gcov-one-line-function.c11
-rw-r--r--test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov16
-rw-r--r--test/profile/Inputs/instrprof-gcov-switch1.c18
-rw-r--r--test/profile/Inputs/instrprof-gcov-switch1.c.gcov23
-rw-r--r--test/profile/Inputs/instrprof-gcov-switch2.c18
-rw-r--r--test/profile/Inputs/instrprof-gcov-switch2.c.gcov23
-rw-r--r--test/profile/Inputs/instrprof-icall-promo.h4
-rw-r--r--test/profile/Inputs/instrprof-icall-promo_1.cc7
-rw-r--r--test/profile/Inputs/instrprof-icall-promo_2.cc15
-rw-r--r--test/profile/Inputs/instrprof-merge-match-lib.c39
-rw-r--r--test/profile/Inputs/instrprof-merge-match.c54
-rw-r--r--test/profile/Inputs/instrprof-shared-lib.c9
-rw-r--r--test/profile/Inputs/instrprof-shared-lib.c.gcov14
-rw-r--r--test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov14
-rw-r--r--test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov14
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush.c36
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov41
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov41
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov41
-rw-r--r--test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov41
-rw-r--r--test/profile/Inputs/instrprof-shared-main.c13
-rw-r--r--test/profile/Inputs/instrprof-shared-main.c.gcov18
-rw-r--r--test/profile/Inputs/instrprof-value-prof-evict.c141
-rw-r--r--test/profile/Inputs/instrprof-value-prof-real.c1096
-rw-r--r--test/profile/Inputs/instrprof-visibility-helper.cpp3
66 files changed, 0 insertions, 2656 deletions
diff --git a/test/profile/Inputs/comdat_rename.h b/test/profile/Inputs/comdat_rename.h
deleted file mode 100644
index d30628f13b63..000000000000
--- a/test/profile/Inputs/comdat_rename.h
+++ /dev/null
@@ -1,13 +0,0 @@
-struct FOO {
- FOO() : a(0), b(0) {}
- int callee();
- __attribute__((noinline)) void caller(int n) {
- int r = callee();
- if (r == 0) {
- a += n;
- b += 1;
- }
- }
- int a;
- int volatile b;
-};
diff --git a/test/profile/Inputs/comdat_rename_1.cc b/test/profile/Inputs/comdat_rename_1.cc
deleted file mode 100644
index 688e305310c5..000000000000
--- a/test/profile/Inputs/comdat_rename_1.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "comdat_rename.h"
-// callee's out-of-line instance profile data -- it comes
-// from external calls to it from comdat_rename_2.cc.
-// Its inline instance copy's profile data is different and
-// is collected in 'caller''s context.
-int FOO::callee() {
- // CHECK-LABEL: define {{.*}}callee{{.*}}
- // CHECK-NOT: br i1 {{.*}}
- // CHECK: br {{.*}}label{{.*}}, label %[[BB1:.*]], !prof ![[PD1:[0-9]+]]
- // CHECK: {{.*}}[[BB1]]:
- if (b != 0)
- return a / b;
- if (a != 0)
- return 10 / a;
- return 0;
-}
-
-// This is the 'caller''s comdat copy (after renaming) in this module.
-// The profile counters include a copy of counters from 'callee':
-//
-// CHECK-LABEL: define {{.*}}caller{{.*}}
-// CHECK-NOT: br i1 {{.*}}
-// CHECK: br {{.*}}label{{.*}}, label %[[BB2:.*]], !prof ![[PD2:[0-9]+]]
-// CHECK: {{.*}}[[BB2]]:
-// CHECK: br {{.*}}label{{.*}}, label %{{.*}}, !prof !{{.*}}
-// CHECK: br {{.*}}label %[[BB3:.*]], label %{{.*}} !prof ![[PD3:[0-9]+]]
-// CHECK: {{.*}}[[BB3]]:
-//
-// CHECK:![[PD1]] = !{!"branch_weights", i32 0, i32 1}
-// CHECK:![[PD2]] = !{!"branch_weights", i32 1, i32 0}
-// CHECK:![[PD3]] = !{!"branch_weights", i32 {{.*}}, i32 0}
-
-void test(FOO *foo) { foo->caller(10); }
diff --git a/test/profile/Inputs/comdat_rename_2.cc b/test/profile/Inputs/comdat_rename_2.cc
deleted file mode 100644
index 5cad79c9f9d8..000000000000
--- a/test/profile/Inputs/comdat_rename_2.cc
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "comdat_rename.h"
-extern void test(FOO *);
-FOO foo;
-int main() {
- test(&foo);
- foo.caller(20);
- return 0;
-}
-
-// The copy of 'caller' defined in this module -- it has
-// 'callee' call remaining.
-//
-// CHECK-LABEL: define {{.*}}caller{{.*}}
-// CHECK: {{.*}} call {{.*}}
-// CHECK-NOT: br i1 {{.*}}
-// CHECK: br {{.*}}label %[[BB1:.*]], label{{.*}}!prof ![[PD1:[0-9]+]]
-// CHECK: {{.*}}[[BB1]]:
-// CHECK:![[PD1]] = !{!"branch_weights", i32 0, i32 1}
diff --git a/test/profile/Inputs/extern_template.cpp b/test/profile/Inputs/extern_template.cpp
deleted file mode 100644
index 98c6c16b4a8a..000000000000
--- a/test/profile/Inputs/extern_template.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#define DEF
-#include "extern_template.h"
-#undef DEF
-extern int bar();
-extern int foo();
-extern Test<int> TO;
-int main() {
- foo();
- int R = bar();
-
- if (R != 10)
- return 1;
- return 0;
-}
diff --git a/test/profile/Inputs/extern_template.h b/test/profile/Inputs/extern_template.h
deleted file mode 100644
index aa59f6c1e600..000000000000
--- a/test/profile/Inputs/extern_template.h
+++ /dev/null
@@ -1,17 +0,0 @@
-template <typename T> struct Test {
- Test() : M(10) {}
- void doIt(int N) { // CHECK: [[@LINE]]| 2| void doIt
- if (N > 10) { // CHECK: [[@LINE]]| 2| if (N > 10) {
- M += 2; // CHECK: [[@LINE]]| 1| M += 2;
- } else // CHECK: [[@LINE]]| 1| } else
- M -= 2; // CHECK: [[@LINE]]| 1| M -= 2;
- }
- T M;
-};
-
-#ifdef USE
-extern template struct Test<int>;
-#endif
-#ifdef DEF
-template struct Test<int>;
-#endif
diff --git a/test/profile/Inputs/extern_template1.cpp b/test/profile/Inputs/extern_template1.cpp
deleted file mode 100644
index 372ffd25109f..000000000000
--- a/test/profile/Inputs/extern_template1.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#define USE
-#include "extern_template.h"
-#undef USE
-
-Test<int> TO;
-int foo() {
- TO.doIt(20);
- return TO.M;
-}
diff --git a/test/profile/Inputs/extern_template2.cpp b/test/profile/Inputs/extern_template2.cpp
deleted file mode 100644
index ac2f8587b0d8..000000000000
--- a/test/profile/Inputs/extern_template2.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#define USE
-#include "extern_template.h"
-#undef USE
-
-extern Test<int> TO;
-int bar() {
- TO.doIt(5);
- return TO.M;
-}
diff --git a/test/profile/Inputs/gcc-flag-compatibility.c b/test/profile/Inputs/gcc-flag-compatibility.c
deleted file mode 100644
index 1c07bb1d0f30..000000000000
--- a/test/profile/Inputs/gcc-flag-compatibility.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int X = 0;
-
-int main() {
- int i;
- for (i = 0; i < 100; i++)
- X += i;
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-alloc.c b/test/profile/Inputs/instrprof-alloc.c
deleted file mode 100644
index 08942371ce95..000000000000
--- a/test/profile/Inputs/instrprof-alloc.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* This test case tests that when static allocation for value
- * profiler is on, no malloc/calloc calls will be invoked by
- * profile runtime library. */
-#include <stdlib.h>
-__attribute__((noinline)) void foo() {}
-__attribute__((noinline)) void foo2() {}
-void (*FP)();
-int MainEntered = 0;
-int CallocCalled = 0;
-int MallocCalled = 0;
-
-extern void *__real_calloc(size_t s, size_t n);
-extern void *__real_malloc(size_t s);
-
-void *__wrap_calloc(size_t s, size_t n) {
- if (MainEntered)
- CallocCalled = 1;
- return __real_calloc(s, n);
-}
-void *__wrap_malloc(size_t s) {
- if (MainEntered)
- MallocCalled = 1;
- return __real_malloc(s);
-}
-
-void getFP(int i) {
- if (i % 2)
- FP = foo;
- else
- FP = foo2;
-}
-
-int main() {
- int i;
- MainEntered = 1;
- for (i = 0; i < 100; i++) {
- getFP(i);
- FP();
- }
- return CallocCalled + MallocCalled;
-}
diff --git a/test/profile/Inputs/instrprof-comdat-1.cpp b/test/profile/Inputs/instrprof-comdat-1.cpp
deleted file mode 100644
index bd574ec3fb89..000000000000
--- a/test/profile/Inputs/instrprof-comdat-1.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "instrprof-comdat.h"
-int g;
-extern int bar(int);
-
-int main() {
-
- FOO<int> Foo;
-
- int Res = Foo.DoIt(10);
-
- if (Res > 10)
- g = bar(10);
- else
- g = bar(1) + bar(2);
- return 0;
-}
-
diff --git a/test/profile/Inputs/instrprof-comdat-2.cpp b/test/profile/Inputs/instrprof-comdat-2.cpp
deleted file mode 100644
index ce68d54e8c5e..000000000000
--- a/test/profile/Inputs/instrprof-comdat-2.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "instrprof-comdat.h"
-
-int bar(int I) {
-
- FOO<long> Foo;
- FOO<int> Foo2;
-
- if (I > 5)
- return (int)Foo.DoIt(10);
- else
- return (int)Foo2.DoIt(I);
-}
diff --git a/test/profile/Inputs/instrprof-comdat.h b/test/profile/Inputs/instrprof-comdat.h
deleted file mode 100644
index 61e283cc878e..000000000000
--- a/test/profile/Inputs/instrprof-comdat.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Template instantiations are placed into comdat sections. Check that
-// coverage data from different instantiations are mapped back to the correct
-// source regions.
-
-template <class T> class FOO {
-public:
- FOO() : t(0) {}
-
- T DoIt(T ti);
-
-private:
- T t;
-};
-
-template <class T> T FOO<T>::DoIt(T ti) { // HEADER: [[@LINE]]| 2|template
- for (T I = 0; I < ti; I++) { // HEADER: [[@LINE]]| 22| for (T
- t += I; // HEADER: [[@LINE]]| 20| t += I;
- if (I > ti / 2) // HEADER: [[@LINE]]| 20| if (I > ti
- t -= 1; // HEADER: [[@LINE]]| 8| t -= 1;
- } // HEADER: [[@LINE]]| 10| }
- // HEADER: [[@LINE]]| 1|
- return t; // HEADER: [[@LINE]]| 1| return t;
-}
diff --git a/test/profile/Inputs/instrprof-dlopen-dlclose-main.c b/test/profile/Inputs/instrprof-dlopen-dlclose-main.c
deleted file mode 100644
index 3f4a4f6cc6a6..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-dlclose-main.c
+++ /dev/null
@@ -1,86 +0,0 @@
-#include <dlfcn.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main(int argc, char *argv[]) {
- dlerror();
- void *f1_handle = dlopen("func.shared", RTLD_LAZY | RTLD_GLOBAL);
- if (f1_handle == NULL) {
- fprintf(stderr, "unable to open 'func.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- void (*func)(void) = (void (*)(void))dlsym(f1_handle, "func");
- if (func == NULL) {
- fprintf(stderr, "unable to lookup symbol 'func': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- dlerror();
- void *f2_handle = dlopen("func2.shared", RTLD_LAZY | RTLD_GLOBAL);
- if (f2_handle == NULL) {
- fprintf(stderr, "unable to open 'func2.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- void (*func2)(void) = (void (*)(void))dlsym(f2_handle, "func2");
- if (func2 == NULL) {
- fprintf(stderr, "unable to lookup symbol 'func2': %s\n", dlerror());
- return EXIT_FAILURE;
- }
- func2();
-
-#ifdef USE_LIB3
- void *f3_handle = dlopen("func3.shared", RTLD_LAZY | RTLD_GLOBAL);
- if (f3_handle == NULL) {
- fprintf(stderr, "unable to open 'func3.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- void (*func3)(void) = (void (*)(void))dlsym(f3_handle, "func3");
- if (func3 == NULL) {
- fprintf(stderr, "unable to lookup symbol 'func3': %s\n", dlerror());
- return EXIT_FAILURE;
- }
- func3();
-#endif
-
- dlerror();
- void (*gcov_flush1)() = (void (*)())dlsym(f1_handle, "__gcov_flush");
- if (gcov_flush1 == NULL) {
- fprintf(stderr, "unable to find __gcov_flush in func.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- dlerror();
- void (*gcov_flush2)() = (void (*)())dlsym(f2_handle, "__gcov_flush");
- if (gcov_flush2 == NULL) {
- fprintf(stderr, "unable to find __gcov_flush in func2.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- if (gcov_flush1 == gcov_flush2) {
- fprintf(stderr, "Same __gcov_flush found in func.shared and func2.shared\n");
- return EXIT_FAILURE;
- }
-
- dlerror();
- if (dlclose(f2_handle) != 0) {
- fprintf(stderr, "unable to close 'func2.shared': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- func();
-
- int g1 = 0;
- int g2 = 0;
- int n = 10;
-
- if (n % 5 == 0)
- g1++;
- else
- g2++;
-
- return EXIT_SUCCESS;
-}
-
diff --git a/test/profile/Inputs/instrprof-dlopen-dlclose-main.c.gcov b/test/profile/Inputs/instrprof-dlopen-dlclose-main.c.gcov
deleted file mode 100644
index 2d538f63eb46..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-dlclose-main.c.gcov
+++ /dev/null
@@ -1,91 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-dlopen-dlclose-main.c
-// CHECK-NEXT: -: 0:Graph:instrprof-dlopen-dlclose-main.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-dlopen-dlclose-main.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:#include <dlfcn.h>
-// CHECK-NEXT: -: 2:#include <stdio.h>
-// CHECK-NEXT: -: 3:#include <stdlib.h>
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5:int main(int argc, char *argv[]) {
-// CHECK-NEXT: 1: 6: dlerror();
-// CHECK-NEXT: 1: 7: void *f1_handle = dlopen("func.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: 1: 8: if (f1_handle == NULL) {
-// CHECK-NEXT: #####: 9: fprintf(stderr, "unable to open 'func.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 10: return EXIT_FAILURE;
-// CHECK-NEXT: -: 11: }
-// CHECK-NEXT: -: 12:
-// CHECK-NEXT: 1: 13: void (*func)(void) = (void (*)(void))dlsym(f1_handle, "func");
-// CHECK-NEXT: 1: 14: if (func == NULL) {
-// CHECK-NEXT: #####: 15: fprintf(stderr, "unable to lookup symbol 'func': %s\n", dlerror());
-// CHECK-NEXT: #####: 16: return EXIT_FAILURE;
-// CHECK-NEXT: -: 17: }
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: dlerror();
-// CHECK-NEXT: 1: 20: void *f2_handle = dlopen("func2.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: 1: 21: if (f2_handle == NULL) {
-// CHECK-NEXT: #####: 22: fprintf(stderr, "unable to open 'func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 23: return EXIT_FAILURE;
-// CHECK-NEXT: -: 24: }
-// CHECK-NEXT: -: 25:
-// CHECK-NEXT: 1: 26: void (*func2)(void) = (void (*)(void))dlsym(f2_handle, "func2");
-// CHECK-NEXT: 1: 27: if (func2 == NULL) {
-// CHECK-NEXT: #####: 28: fprintf(stderr, "unable to lookup symbol 'func2': %s\n", dlerror());
-// CHECK-NEXT: #####: 29: return EXIT_FAILURE;
-// CHECK-NEXT: -: 30: }
-// CHECK-NEXT: 1: 31: func2();
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: -: 33:#ifdef USE_LIB3
-// CHECK-NEXT: -: 34: void *f3_handle = dlopen("func3.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: -: 35: if (f3_handle == NULL) {
-// CHECK-NEXT: -: 36: fprintf(stderr, "unable to open 'func3.shared': %s\n", dlerror());
-// CHECK-NEXT: -: 37: return EXIT_FAILURE;
-// CHECK-NEXT: -: 38: }
-// CHECK-NEXT: -: 39:
-// CHECK-NEXT: -: 40: void (*func3)(void) = (void (*)(void))dlsym(f3_handle, "func3");
-// CHECK-NEXT: -: 41: if (func3 == NULL) {
-// CHECK-NEXT: -: 42: fprintf(stderr, "unable to lookup symbol 'func3': %s\n", dlerror());
-// CHECK-NEXT: -: 43: return EXIT_FAILURE;
-// CHECK-NEXT: -: 44: }
-// CHECK-NEXT: -: 45: func3();
-// CHECK-NEXT: -: 46:#endif
-// CHECK-NEXT: -: 47:
-// CHECK-NEXT: 1: 48: dlerror();
-// CHECK-NEXT: 1: 49: void (*gcov_flush1)() = (void (*)())dlsym(f1_handle, "__gcov_flush");
-// CHECK-NEXT: 1: 50: if (gcov_flush1 == NULL) {
-// CHECK-NEXT: #####: 51: fprintf(stderr, "unable to find __gcov_flush in func.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 52: return EXIT_FAILURE;
-// CHECK-NEXT: -: 53: }
-// CHECK-NEXT: -: 54:
-// CHECK-NEXT: 1: 55: dlerror();
-// CHECK-NEXT: 1: 56: void (*gcov_flush2)() = (void (*)())dlsym(f2_handle, "__gcov_flush");
-// CHECK-NEXT: 1: 57: if (gcov_flush2 == NULL) {
-// CHECK-NEXT: #####: 58: fprintf(stderr, "unable to find __gcov_flush in func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 59: return EXIT_FAILURE;
-// CHECK-NEXT: -: 60: }
-// CHECK-NEXT: -: 61:
-// CHECK-NEXT: 1: 62: if (gcov_flush1 == gcov_flush2) {
-// CHECK-NEXT: #####: 63: fprintf(stderr, "Same __gcov_flush found in func.shared and func2.shared\n");
-// CHECK-NEXT: #####: 64: return EXIT_FAILURE;
-// CHECK-NEXT: -: 65: }
-// CHECK-NEXT: -: 66:
-// CHECK-NEXT: 1: 67: dlerror();
-// CHECK-NEXT: 1: 68: if (dlclose(f2_handle) != 0) {
-// CHECK-NEXT: #####: 69: fprintf(stderr, "unable to close 'func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 70: return EXIT_FAILURE;
-// CHECK-NEXT: -: 71: }
-// CHECK-NEXT: -: 72:
-// CHECK-NEXT: 1: 73: func();
-// CHECK-NEXT: -: 74:
-// CHECK-NEXT: 1: 75: int g1 = 0;
-// CHECK-NEXT: 1: 76: int g2 = 0;
-// CHECK-NEXT: 1: 77: int n = 10;
-// CHECK-NEXT: -: 78:
-// CHECK-NEXT: 1: 79: if (n % 5 == 0)
-// CHECK-NEXT: 1: 80: g1++;
-// CHECK-NEXT: -: 81: else
-// CHECK-NEXT: #####: 82: g2++;
-// CHECK-NEXT: -: 83:
-// CHECK-NEXT: 1: 84: return EXIT_SUCCESS;
-// CHECK-NEXT: 1: 85:}
-// CHECK-NEXT: -: 86:
diff --git a/test/profile/Inputs/instrprof-dlopen-dlclose-main_three-libs.c.gcov b/test/profile/Inputs/instrprof-dlopen-dlclose-main_three-libs.c.gcov
deleted file mode 100644
index f1dd1757144f..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-dlclose-main_three-libs.c.gcov
+++ /dev/null
@@ -1,91 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-dlopen-dlclose-main.c
-// CHECK-NEXT: -: 0:Graph:instrprof-dlopen-dlclose-main.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-dlopen-dlclose-main.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:#include <dlfcn.h>
-// CHECK-NEXT: -: 2:#include <stdio.h>
-// CHECK-NEXT: -: 3:#include <stdlib.h>
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5:int main(int argc, char *argv[]) {
-// CHECK-NEXT: 1: 6: dlerror();
-// CHECK-NEXT: 1: 7: void *f1_handle = dlopen("func.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: 1: 8: if (f1_handle == NULL) {
-// CHECK-NEXT: #####: 9: fprintf(stderr, "unable to open 'func.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 10: return EXIT_FAILURE;
-// CHECK-NEXT: -: 11: }
-// CHECK-NEXT: -: 12:
-// CHECK-NEXT: 1: 13: void (*func)(void) = (void (*)(void))dlsym(f1_handle, "func");
-// CHECK-NEXT: 1: 14: if (func == NULL) {
-// CHECK-NEXT: #####: 15: fprintf(stderr, "unable to lookup symbol 'func': %s\n", dlerror());
-// CHECK-NEXT: #####: 16: return EXIT_FAILURE;
-// CHECK-NEXT: -: 17: }
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: dlerror();
-// CHECK-NEXT: 1: 20: void *f2_handle = dlopen("func2.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: 1: 21: if (f2_handle == NULL) {
-// CHECK-NEXT: #####: 22: fprintf(stderr, "unable to open 'func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 23: return EXIT_FAILURE;
-// CHECK-NEXT: -: 24: }
-// CHECK-NEXT: -: 25:
-// CHECK-NEXT: 1: 26: void (*func2)(void) = (void (*)(void))dlsym(f2_handle, "func2");
-// CHECK-NEXT: 1: 27: if (func2 == NULL) {
-// CHECK-NEXT: #####: 28: fprintf(stderr, "unable to lookup symbol 'func2': %s\n", dlerror());
-// CHECK-NEXT: #####: 29: return EXIT_FAILURE;
-// CHECK-NEXT: -: 30: }
-// CHECK-NEXT: 1: 31: func2();
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: -: 33:#ifdef USE_LIB3
-// CHECK-NEXT: 1: 34: void *f3_handle = dlopen("func3.shared", RTLD_LAZY | RTLD_GLOBAL);
-// CHECK-NEXT: 1: 35: if (f3_handle == NULL) {
-// CHECK-NEXT: #####: 36: fprintf(stderr, "unable to open 'func3.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 37: return EXIT_FAILURE;
-// CHECK-NEXT: -: 38: }
-// CHECK-NEXT: -: 39:
-// CHECK-NEXT: 1: 40: void (*func3)(void) = (void (*)(void))dlsym(f3_handle, "func3");
-// CHECK-NEXT: 1: 41: if (func3 == NULL) {
-// CHECK-NEXT: #####: 42: fprintf(stderr, "unable to lookup symbol 'func3': %s\n", dlerror());
-// CHECK-NEXT: #####: 43: return EXIT_FAILURE;
-// CHECK-NEXT: -: 44: }
-// CHECK-NEXT: 1: 45: func3();
-// CHECK-NEXT: -: 46:#endif
-// CHECK-NEXT: -: 47:
-// CHECK-NEXT: 1: 48: dlerror();
-// CHECK-NEXT: 1: 49: void (*gcov_flush1)() = (void (*)())dlsym(f1_handle, "__gcov_flush");
-// CHECK-NEXT: 1: 50: if (gcov_flush1 == NULL) {
-// CHECK-NEXT: #####: 51: fprintf(stderr, "unable to find __gcov_flush in func.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 52: return EXIT_FAILURE;
-// CHECK-NEXT: -: 53: }
-// CHECK-NEXT: -: 54:
-// CHECK-NEXT: 1: 55: dlerror();
-// CHECK-NEXT: 1: 56: void (*gcov_flush2)() = (void (*)())dlsym(f2_handle, "__gcov_flush");
-// CHECK-NEXT: 1: 57: if (gcov_flush2 == NULL) {
-// CHECK-NEXT: #####: 58: fprintf(stderr, "unable to find __gcov_flush in func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 59: return EXIT_FAILURE;
-// CHECK-NEXT: -: 60: }
-// CHECK-NEXT: -: 61:
-// CHECK-NEXT: 1: 62: if (gcov_flush1 == gcov_flush2) {
-// CHECK-NEXT: #####: 63: fprintf(stderr, "Same __gcov_flush found in func.shared and func2.shared\n");
-// CHECK-NEXT: #####: 64: return EXIT_FAILURE;
-// CHECK-NEXT: -: 65: }
-// CHECK-NEXT: -: 66:
-// CHECK-NEXT: 1: 67: dlerror();
-// CHECK-NEXT: 1: 68: if (dlclose(f2_handle) != 0) {
-// CHECK-NEXT: #####: 69: fprintf(stderr, "unable to close 'func2.shared': %s\n", dlerror());
-// CHECK-NEXT: #####: 70: return EXIT_FAILURE;
-// CHECK-NEXT: -: 71: }
-// CHECK-NEXT: -: 72:
-// CHECK-NEXT: 1: 73: func();
-// CHECK-NEXT: -: 74:
-// CHECK-NEXT: 1: 75: int g1 = 0;
-// CHECK-NEXT: 1: 76: int g2 = 0;
-// CHECK-NEXT: 1: 77: int n = 10;
-// CHECK-NEXT: -: 78:
-// CHECK-NEXT: 1: 79: if (n % 5 == 0)
-// CHECK-NEXT: 1: 80: g1++;
-// CHECK-NEXT: -: 81: else
-// CHECK-NEXT: #####: 82: g2++;
-// CHECK-NEXT: -: 83:
-// CHECK-NEXT: 1: 84: return EXIT_SUCCESS;
-// CHECK-NEXT: 1: 85:}
-// CHECK-NEXT: -: 86:
diff --git a/test/profile/Inputs/instrprof-dlopen-func.c b/test/profile/Inputs/instrprof-dlopen-func.c
deleted file mode 100644
index 9a56e4976570..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func.c
+++ /dev/null
@@ -1 +0,0 @@
-void func(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-func.c.gcov b/test/profile/Inputs/instrprof-dlopen-func.c.gcov
deleted file mode 100644
index 3af4ec94a1b0..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func.c.gcov
+++ /dev/null
@@ -1,6 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-dlopen-func.c
-// CHECK-NEXT: -: 0:Graph:instrprof-dlopen-func.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-dlopen-func.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:void func(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-func2.c b/test/profile/Inputs/instrprof-dlopen-func2.c
deleted file mode 100644
index ab62f14952c7..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func2.c
+++ /dev/null
@@ -1 +0,0 @@
-void func2(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-func2.c.gcov b/test/profile/Inputs/instrprof-dlopen-func2.c.gcov
deleted file mode 100644
index 7101f74b938d..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func2.c.gcov
+++ /dev/null
@@ -1,6 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-dlopen-func2.c
-// CHECK-NEXT: -: 0:Graph:instrprof-dlopen-func2.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-dlopen-func2.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:void func2(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-func3.c b/test/profile/Inputs/instrprof-dlopen-func3.c
deleted file mode 100644
index ec0dddb45274..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func3.c
+++ /dev/null
@@ -1 +0,0 @@
-void func3(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-func3.c.gcov b/test/profile/Inputs/instrprof-dlopen-func3.c.gcov
deleted file mode 100644
index 7101f74b938d..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-func3.c.gcov
+++ /dev/null
@@ -1,6 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-dlopen-func2.c
-// CHECK-NEXT: -: 0:Graph:instrprof-dlopen-func2.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-dlopen-func2.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:void func2(int K) {}
diff --git a/test/profile/Inputs/instrprof-dlopen-main.c b/test/profile/Inputs/instrprof-dlopen-main.c
deleted file mode 100644
index ec357fe05bd5..000000000000
--- a/test/profile/Inputs/instrprof-dlopen-main.c
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifdef DLOPEN_FUNC_DIR
-#include <dlfcn.h>
-#else
-void func(int K);
-void func2(int K);
-#endif
-
-int main(int argc, char *argv[]) {
-#ifdef DLOPEN_FUNC_DIR
- dlerror();
- void *f1_handle = dlopen(DLOPEN_FUNC_DIR"/func.shared", DLOPEN_FLAGS);
- if (f1_handle == NULL) {
- fprintf(stderr, "unable to open '" DLOPEN_FUNC_DIR "/func.shared': %s\n",
- dlerror());
- return EXIT_FAILURE;
- }
-
- void (*func)(int) = (void (*)(int))dlsym(f1_handle, "func");
- if (func == NULL) {
- fprintf(stderr, "unable to lookup symbol 'func': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-
- void *f2_handle = dlopen(DLOPEN_FUNC_DIR"/func2.shared", DLOPEN_FLAGS);
- if (f2_handle == NULL) {
- fprintf(stderr, "unable to open '" DLOPEN_FUNC_DIR "/func2.shared': %s\n",
- dlerror());
- return EXIT_FAILURE;
- }
-
- void (*func2)(int) = (void (*)(int))dlsym(f2_handle, "func2");
- if (func2 == NULL) {
- fprintf(stderr, "unable to lookup symbol 'func2': %s\n", dlerror());
- return EXIT_FAILURE;
- }
-#endif
-
- func(1);
- func2(0);
-
- return EXIT_SUCCESS;
-}
-
diff --git a/test/profile/Inputs/instrprof-dynamic-a.cpp b/test/profile/Inputs/instrprof-dynamic-a.cpp
deleted file mode 100644
index 7468cd4eb04e..000000000000
--- a/test/profile/Inputs/instrprof-dynamic-a.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "instrprof-dynamic-header.h"
-void a() { // COV: [[@LINE]]| 1|void a
- if (true) { // COV: [[@LINE]]| 1| if
- bar<void>(1); // COV: [[@LINE]]| 1| bar
- bar<char>(1); // COV: [[@LINE]]| 1| bar
- } // COV: [[@LINE]]| 1| }
-}
diff --git a/test/profile/Inputs/instrprof-dynamic-b.cpp b/test/profile/Inputs/instrprof-dynamic-b.cpp
deleted file mode 100644
index 5c2d9bae8dba..000000000000
--- a/test/profile/Inputs/instrprof-dynamic-b.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "instrprof-dynamic-header.h"
-void b() {
- if (true) {
- bar<void>(1);
- bar<int>(1);
- }
-}
diff --git a/test/profile/Inputs/instrprof-dynamic-header.h b/test/profile/Inputs/instrprof-dynamic-header.h
deleted file mode 100644
index 7a57b13c67f9..000000000000
--- a/test/profile/Inputs/instrprof-dynamic-header.h
+++ /dev/null
@@ -1,7 +0,0 @@
-template <class T> void bar(int X) {
- if (X) {
- X *= 4;
- }
-}
-void a();
-void b();
diff --git a/test/profile/Inputs/instrprof-dynamic-main.cpp b/test/profile/Inputs/instrprof-dynamic-main.cpp
deleted file mode 100644
index 2cf37c8b6d5e..000000000000
--- a/test/profile/Inputs/instrprof-dynamic-main.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "instrprof-dynamic-header.h"
-void foo(int K) { if (K) {} }
-int main(int argc, char *argv[]) {
- foo(5);
- bar<void>(1);
- a();
- b();
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-file_ex.c b/test/profile/Inputs/instrprof-file_ex.c
deleted file mode 100644
index 106e58989a7c..000000000000
--- a/test/profile/Inputs/instrprof-file_ex.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* This is a test case where the parent process forks 10
- * children which contend to write to the same file. With
- * file locking support, the data from each child should not
- * be lost.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/wait.h>
-
-extern FILE *lprofOpenFileEx(const char *);
-int main(int argc, char *argv[]) {
- pid_t tid;
- FILE *F;
- const char *FN;
- int child[10];
- int c;
- int i;
-
- if (argc < 2) {
- fprintf(stderr, "Requires one argument \n");
- exit(1);
- }
- FN = argv[1];
- truncate(FN, 0);
-
- for (i = 0; i < 10; i++) {
- c = fork();
- // in child:
- if (c == 0) {
- FILE *F = lprofOpenFileEx(FN);
- if (!F) {
- fprintf(stderr, "Can not open file %s from child\n", FN);
- exit(1);
- }
- fseek(F, 0, SEEK_END);
- fprintf(F, "Dump from Child %d\n", i);
- fclose(F);
- exit(0);
- } else {
- child[i] = c;
- }
- }
-
- // In parent
- for (i = 0; i < 10; i++) {
- int child_status;
- if ((tid = waitpid(child[i], &child_status, 0)) == -1)
- break;
- }
- F = lprofOpenFileEx(FN);
- if (!F) {
- fprintf(stderr, "Can not open file %s from parent\n", FN);
- exit(1);
- }
- fseek(F, 0, SEEK_END);
- fprintf(F, "Dump from parent %d\n", i);
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c b/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c
deleted file mode 100644
index dadd8959991a..000000000000
--- a/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c
+++ /dev/null
@@ -1,16 +0,0 @@
-int main(void) {
- __gcov_flush();
-
- if (remove("instrprof-gcov-__gcov_flush-multiple.gcda") != 0) {
- return 1;
- }
-
- __gcov_flush();
- __gcov_flush();
-
- if (remove("instrprof-gcov-__gcov_flush-multiple.gcda") != 0) {
- return 1;
- }
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov b/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov
deleted file mode 100644
index f2141229bd4f..000000000000
--- a/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov
+++ /dev/null
@@ -1,21 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-__gcov_flush-multiple.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-__gcov_flush-multiple.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-__gcov_flush-multiple.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: #####: 1:int main(void) {
-// CHECK-NEXT: #####: 2: __gcov_flush();
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: #####: 4: if (remove("instrprof-gcov-__gcov_flush-multiple.gcda") != 0) {
-// CHECK-NEXT: #####: 5: return 1;
-// CHECK-NEXT: -: 6: }
-// CHECK-NEXT: -: 7:
-// CHECK-NEXT: #####: 8: __gcov_flush();
-// CHECK-NEXT: #####: 9: __gcov_flush();
-// CHECK-NEXT: -: 10:
-// CHECK-NEXT: #####: 11: if (remove("instrprof-gcov-__gcov_flush-multiple.gcda") != 0) {
-// CHECK-NEXT: #####: 12: return 1;
-// CHECK-NEXT: -: 13: }
-// CHECK-NEXT: -: 14:
-// CHECK-NEXT: 1: 15: return 0;
-// CHECK-NEXT: 1: 16:}
diff --git a/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c b/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c
deleted file mode 100644
index 7b24d69c75fc..000000000000
--- a/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c
+++ /dev/null
@@ -1,13 +0,0 @@
-int main(void) {
- int i = 22;
-
- __gcov_flush();
-
- i = 42;
-
- asm("int $3");
-
- i = 84;
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov b/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov
deleted file mode 100644
index 69e229a3127e..000000000000
--- a/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov
+++ /dev/null
@@ -1,18 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-__gcov_flush-terminate.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-__gcov_flush-terminate.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-__gcov_flush-terminate.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:int main(void) {
-// CHECK-NEXT: 1: 2: int i = 22;
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: 1: 4: __gcov_flush();
-// CHECK-NEXT: -: 5:
-// CHECK-NEXT: #####: 6: i = 42;
-// CHECK-NEXT: -: 7:
-// CHECK-NEXT: #####: 8: asm("int $3");
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: #####: 10: i = 84;
-// CHECK-NEXT: -: 11:
-// CHECK-NEXT: #####: 12: return 0;
-// CHECK-NEXT: -: 13:}
diff --git a/test/profile/Inputs/instrprof-gcov-exceptions.cpp b/test/profile/Inputs/instrprof-gcov-exceptions.cpp
deleted file mode 100644
index 327966551d09..000000000000
--- a/test/profile/Inputs/instrprof-gcov-exceptions.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <string>
-
-void asd(std::string i) {
-}
-
-int main(void)
-{
- asd("22");
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov b/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
deleted file mode 100644
index f8e38297475d..000000000000
--- a/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
+++ /dev/null
@@ -1,16 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-exceptions.cpp
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-exceptions.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-exceptions.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:#include <string>
-// CHECK-NEXT: -: 2:
-// CHECK-NEXT: 1: 3:void asd(std::string i) {
-// CHECK-NEXT: 1: 4:}
-// CHECK-NEXT: -: 5:
-// CHECK-NEXT: 1: 6:int main(void)
-// CHECK-NEXT: -: 7:{
-// CHECK-NEXT: 1: 8: asd("22");
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: 1: 10: return 0;
-// CHECK-NEXT: -: 11:}
diff --git a/test/profile/Inputs/instrprof-gcov-execlp.c b/test/profile/Inputs/instrprof-gcov-execlp.c
deleted file mode 100644
index 5213a5b80360..000000000000
--- a/test/profile/Inputs/instrprof-gcov-execlp.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <unistd.h>
-
-void func1() {}
-void func2() {}
-
-int main(void)
-{
- func1();
-
- execlp("ls", "-l", "-h", (char*)0);
-
- func2();
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-execlp.c.gcov b/test/profile/Inputs/instrprof-gcov-execlp.c.gcov
deleted file mode 100644
index 7542f6ff73b2..000000000000
--- a/test/profile/Inputs/instrprof-gcov-execlp.c.gcov
+++ /dev/null
@@ -1,23 +0,0 @@
-//CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-execlp.c
-//CHECK-NEXT: -: 0:Graph:instrprof-gcov-execlp.gcno
-//CHECK-NEXT: -: 0:Data:instrprof-gcov-execlp.gcda
-//CHECK-NEXT: -: 0:Runs:1
-//CHECK-NEXT: -: 0:Programs:1
-//CHECK-NEXT: -: 1:#include <unistd.h>
-//CHECK-NEXT: -: 2:
-//CHECK-NEXT:function func1 called 1 returned 100% blocks executed 100%
-//CHECK-NEXT: 1: 3:void func1() {}
-//CHECK-NEXT:function func2 called 0 returned 0% blocks executed 0%
-//CHECK-NEXT: #####: 4:void func2() {}
-//CHECK-NEXT: -: 5:
-//CHECK-NEXT:function main called 1 returned 0% blocks executed 33%
-//CHECK-NEXT: 1: 6:int main(void)
-//CHECK-NEXT: -: 7:{
-//CHECK-NEXT: 1: 8: func1();
-//CHECK-NEXT: -: 9:
-//CHECK-NEXT: 1: 10: execlp("ls", "-l", "-h", (char*)0);
-//CHECK-NEXT: -: 11:
-//CHECK-NEXT: #####: 12: func2();
-//CHECK-NEXT: -: 13:
-//CHECK-NEXT: #####: 14: return 0;
-//CHECK-NEXT: -: 15:}
diff --git a/test/profile/Inputs/instrprof-gcov-execvp.c b/test/profile/Inputs/instrprof-gcov-execvp.c
deleted file mode 100644
index f2e411c2a42e..000000000000
--- a/test/profile/Inputs/instrprof-gcov-execvp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-
-void func1() {}
-void func2() {}
-
-int main(void)
-{
- char *const args[] = {"-l", "-h", (char*)0};
-
- func1();
-
- execvp("ls", args);
-
- func2();
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-execvp.c.gcov b/test/profile/Inputs/instrprof-gcov-execvp.c.gcov
deleted file mode 100644
index 37cd1e59ab38..000000000000
--- a/test/profile/Inputs/instrprof-gcov-execvp.c.gcov
+++ /dev/null
@@ -1,25 +0,0 @@
-//CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-execvp.c
-//CHECK-NEXT: -: 0:Graph:instrprof-gcov-execvp.gcno
-//CHECK-NEXT: -: 0:Data:instrprof-gcov-execvp.gcda
-//CHECK-NEXT: -: 0:Runs:1
-//CHECK-NEXT: -: 0:Programs:1
-//CHECK-NEXT: -: 1:#include <unistd.h>
-//CHECK-NEXT: -: 2:
-//CHECK-NEXT:function func1 called 1 returned 100% blocks executed 100%
-//CHECK-NEXT: 1: 3:void func1() {}
-//CHECK-NEXT:function func2 called 0 returned 0% blocks executed 0%
-//CHECK-NEXT: #####: 4:void func2() {}
-//CHECK-NEXT: -: 5:
-//CHECK-NEXT:function main called 1 returned 0% blocks executed 33%
-//CHECK-NEXT: 1: 6:int main(void)
-//CHECK-NEXT: -: 7:{
-//CHECK-NEXT: 1: 8: char *const args[] = {"-l", "-h", (char*)0};
-//CHECK-NEXT: -: 9:
-//CHECK-NEXT: 1: 10: func1();
-//CHECK-NEXT: -: 11:
-//CHECK-NEXT: 1: 12: execvp("ls", args);
-//CHECK-NEXT: -: 13:
-//CHECK-NEXT: #####: 14: func2();
-//CHECK-NEXT: -: 15:
-//CHECK-NEXT: #####: 16: return 0;
-//CHECK-NEXT: -: 17:}
diff --git a/test/profile/Inputs/instrprof-gcov-fork.c b/test/profile/Inputs/instrprof-gcov-fork.c
deleted file mode 100644
index 818c459c50dd..000000000000
--- a/test/profile/Inputs/instrprof-gcov-fork.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <unistd.h>
-
-void func1() {}
-void func2() {}
-
-int main(void)
-{
- func1();
-
- fork();
-
- func2();
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-fork.c.gcov b/test/profile/Inputs/instrprof-gcov-fork.c.gcov
deleted file mode 100644
index c667c7b9e97e..000000000000
--- a/test/profile/Inputs/instrprof-gcov-fork.c.gcov
+++ /dev/null
@@ -1,23 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-fork.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-fork.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-fork.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:#include <unistd.h>
-// CHECK-NEXT: -: 2:
-// CHECK-NEXT:function func1 called 1 returned 100% blocks executed 100%
-// CHECK-NEXT: 1: 3:void func1() {}
-// CHECK-NEXT:function func2 called 2 returned 100% blocks executed 100%
-// CHECK-NEXT: 2: 4:void func2() {}
-// CHECK-NEXT: -: 5:
-// CHECK-NEXT:function main called 1 returned 200% blocks executed 100%
-// CHECK-NEXT: 1: 6:int main(void)
-// CHECK-NEXT: -: 7:{
-// CHECK-NEXT: 1: 8: func1();
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: 1: 10: fork();
-// CHECK-NEXT: -: 11:
-// CHECK-NEXT: 2: 12: func2();
-// CHECK-NEXT: -: 13:
-// CHECK-NEXT: 2: 14: return 0;
-// CHECK-NEXT: -: 15:}
diff --git a/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c b/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c
deleted file mode 100644
index a2e187b5cb61..000000000000
--- a/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int main(void)
-{
- int var;
-
- int a = 1;
- if (a) {
- var++;
- }
-
- if (a) {}
-
- int b = 0;
- if (b) {
- var++;
- }
-
- if (b) {}
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov b/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
deleted file mode 100644
index 4bc1c1cd50f7..000000000000
--- a/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
+++ /dev/null
@@ -1,34 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-multiple-bbs-single-line.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-multiple-bbs-single-line.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-multiple-bbs-single-line.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT:function main called 1 returned 100% blocks executed 80%
-// CHECK-NEXT: 1: 1:int main(void)
-// CHECK-NEXT: -: 2:{
-// CHECK-NEXT: -: 3: int var;
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5: int a = 1;
-// CHECK-NEXT: 1: 6: if (a) {
-// CHECK-NEXT:branch 0 taken 1
-// CHECK-NEXT:branch 1 taken 0
-// CHECK-NEXT: 1: 7: var++;
-// CHECK-NEXT: 1: 8: }
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: 1: 10: if (a) {}
-// CHECK-NEXT:branch 0 taken 1
-// CHECK-NEXT:branch 1 taken 0
-// CHECK-NEXT: -: 11:
-// CHECK-NEXT: 1: 12: int b = 0;
-// CHECK-NEXT: 1: 13: if (b) {
-// CHECK-NEXT:branch 0 taken 0
-// CHECK-NEXT:branch 1 taken 1
-// CHECK-NEXT: #####: 14: var++;
-// CHECK-NEXT: #####: 15: }
-// CHECK-NEXT: -: 16:
-// CHECK-NEXT: 1: 17: if (b) {}
-// CHECK-NEXT:branch 0 taken 0
-// CHECK-NEXT:branch 1 taken 1
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: return 0;
-// CHECK-NEXT: -: 20:}
diff --git a/test/profile/Inputs/instrprof-gcov-one-line-function.c b/test/profile/Inputs/instrprof-gcov-one-line-function.c
deleted file mode 100644
index ee1582351969..000000000000
--- a/test/profile/Inputs/instrprof-gcov-one-line-function.c
+++ /dev/null
@@ -1,11 +0,0 @@
-void foo() { }
-
-void bar() { }
-
-int main(void) {
- foo();
-
- bar();
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov b/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
deleted file mode 100644
index a91b20fdc9a3..000000000000
--- a/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
+++ /dev/null
@@ -1,16 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-one-line-function.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-one-line-function.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-one-line-function.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:void foo() { }
-// CHECK-NEXT: -: 2:
-// CHECK-NEXT: 1: 3:void bar() { }
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5:int main(void) {
-// CHECK-NEXT: 1: 6: foo();
-// CHECK-NEXT: -: 7:
-// CHECK-NEXT: 1: 8: bar();
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: 1: 10: return 0;
-// CHECK-NEXT: -: 11:}
diff --git a/test/profile/Inputs/instrprof-gcov-switch1.c b/test/profile/Inputs/instrprof-gcov-switch1.c
deleted file mode 100644
index 25544323c555..000000000000
--- a/test/profile/Inputs/instrprof-gcov-switch1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-int main(void)
-{
- int i = 22;
-
- switch (i) {
- case 7:
- break;
-
- case 22:
- i = 7;
- break;
-
- case 42:
- break;
- }
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-switch1.c.gcov b/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
deleted file mode 100644
index 6e9c5228b938..000000000000
--- a/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
+++ /dev/null
@@ -1,23 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-switch1.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-switch1.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-switch1.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:int main(void)
-// CHECK-NEXT: -: 2:{
-// CHECK-NEXT: 1: 3: int i = 22;
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5: switch (i) {
-// CHECK-NEXT: -: 6: case 7:
-// CHECK-NEXT: #####: 7: break;
-// CHECK-NEXT: -: 8:
-// CHECK-NEXT: -: 9: case 22:
-// CHECK-NEXT: 1: 10: i = 7;
-// CHECK-NEXT: 1: 11: break;
-// CHECK-NEXT: -: 12:
-// CHECK-NEXT: -: 13: case 42:
-// CHECK-NEXT: #####: 14: break;
-// CHECK-NEXT: -: 15: }
-// CHECK-NEXT: -: 16:
-// CHECK-NEXT: 1: 17: return 0;
-// CHECK-NEXT: -: 18:}
diff --git a/test/profile/Inputs/instrprof-gcov-switch2.c b/test/profile/Inputs/instrprof-gcov-switch2.c
deleted file mode 100644
index 14e8a84de507..000000000000
--- a/test/profile/Inputs/instrprof-gcov-switch2.c
+++ /dev/null
@@ -1,18 +0,0 @@
-int main(void)
-{
- int i = 22;
-
- switch (i) {
- case 7:
- break;
-
- case 22:
- i = 7;
-
- case 42:
- i = 22;
- break;
- }
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-gcov-switch2.c.gcov b/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
deleted file mode 100644
index 47d7f1d7cb41..000000000000
--- a/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
+++ /dev/null
@@ -1,23 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-switch2.c
-// CHECK-NEXT: -: 0:Graph:instrprof-gcov-switch2.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-gcov-switch2.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: 1: 1:int main(void)
-// CHECK-NEXT: -: 2:{
-// CHECK-NEXT: 1: 3: int i = 22;
-// CHECK-NEXT: -: 4:
-// CHECK-NEXT: 1: 5: switch (i) {
-// CHECK-NEXT: -: 6: case 7:
-// CHECK-NEXT: #####: 7: break;
-// CHECK-NEXT: -: 8:
-// CHECK-NEXT: -: 9: case 22:
-// CHECK-NEXT: 1: 10: i = 7;
-// CHECK-NEXT: -: 11:
-// CHECK-NEXT: -: 12: case 42:
-// CHECK-NEXT: 1: 13: i = 22;
-// CHECK-NEXT: 1: 14: break;
-// CHECK-NEXT: -: 15: }
-// CHECK-NEXT: -: 16:
-// CHECK-NEXT: 1: 17: return 0;
-// CHECK-NEXT: -: 18:}
diff --git a/test/profile/Inputs/instrprof-icall-promo.h b/test/profile/Inputs/instrprof-icall-promo.h
deleted file mode 100644
index 531e8ac82da5..000000000000
--- a/test/profile/Inputs/instrprof-icall-promo.h
+++ /dev/null
@@ -1,4 +0,0 @@
-struct A {
- virtual int foo() { return 1; };
- virtual int bar();
-};
diff --git a/test/profile/Inputs/instrprof-icall-promo_1.cc b/test/profile/Inputs/instrprof-icall-promo_1.cc
deleted file mode 100644
index e0a5e0693479..000000000000
--- a/test/profile/Inputs/instrprof-icall-promo_1.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "instrprof-icall-promo.h"
-
-A a;
-
-A* ap = &a;
-
-int ref(A* ap) { return ap->A::foo(); }
diff --git a/test/profile/Inputs/instrprof-icall-promo_2.cc b/test/profile/Inputs/instrprof-icall-promo_2.cc
deleted file mode 100644
index 658ab0bf44d1..000000000000
--- a/test/profile/Inputs/instrprof-icall-promo_2.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "instrprof-icall-promo.h"
-extern int ref(A *);
-
-int A::bar() { return 2; }
-
-extern A *ap;
-int test() {
- for (int i = 0; i < 10000; i++) ap->foo();
- return ref(ap);
-}
-
-int main() {
- test();
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-merge-match-lib.c b/test/profile/Inputs/instrprof-merge-match-lib.c
deleted file mode 100644
index afe559e018ae..000000000000
--- a/test/profile/Inputs/instrprof-merge-match-lib.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int __llvm_profile_runtime = 0;
-uint64_t __llvm_profile_get_size_for_buffer(void);
-int __llvm_profile_write_buffer(char *);
-void __llvm_profile_reset_counters(void);
-int __llvm_profile_check_compatibility(const char *, uint64_t);
-
-int gg = 0;
-void bar(char c) {
- if (c == '1')
- gg++;
- else
- gg--;
-}
-
-/* Returns 0 (size) when an error occurs. */
-uint64_t libEntry(char *Buffer, uint64_t MaxSize) {
-
- uint64_t Size = __llvm_profile_get_size_for_buffer();
- if (Size > MaxSize)
- return 0;
-
- __llvm_profile_reset_counters();
-
- bar('1');
-
- if (__llvm_profile_write_buffer(Buffer))
- return 0;
-
- /* Now check compatibility. Should return 0. */
- if (__llvm_profile_check_compatibility(Buffer, Size))
- return 0;
-
- return Size;
-}
-
diff --git a/test/profile/Inputs/instrprof-merge-match.c b/test/profile/Inputs/instrprof-merge-match.c
deleted file mode 100644
index 6e29e4a4e512..000000000000
--- a/test/profile/Inputs/instrprof-merge-match.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-
-int __llvm_profile_runtime = 0;
-uint64_t __llvm_profile_get_size_for_buffer(void);
-int __llvm_profile_write_buffer(char *);
-void __llvm_profile_reset_counters(void);
-int __llvm_profile_check_compatibility(const char *, uint64_t);
-
-int g = 0;
-void foo(char c) {
- if (c == '1')
- g++;
- else
- g--;
-}
-
-extern uint64_t libEntry(char *Buffer, uint64_t MaxSize);
-
-int main(int argc, const char *argv[]) {
- const uint64_t MaxSize = 10000;
- static char Buffer[MaxSize];
-
- uint64_t Size = __llvm_profile_get_size_for_buffer();
- if (Size > MaxSize)
- return 1;
-
- __llvm_profile_reset_counters();
- foo('0');
-
- if (__llvm_profile_write_buffer(Buffer))
- return 1;
-
- /* Now check compatibility. Should return 0. */
- if (__llvm_profile_check_compatibility(Buffer, Size))
- return 1;
-
- /* Clear the buffer. */
- memset(Buffer, 0, MaxSize);
-
- /* Collect profile from shared library. */
- Size = libEntry(Buffer, MaxSize);
-
- if (!Size)
- return 1;
-
- /* Shared library's profile should not match main executable's. */
- if (!__llvm_profile_check_compatibility(Buffer, Size))
- return 1;
-
- return 0;
-}
-
diff --git a/test/profile/Inputs/instrprof-shared-lib.c b/test/profile/Inputs/instrprof-shared-lib.c
deleted file mode 100644
index d22b0a54a017..000000000000
--- a/test/profile/Inputs/instrprof-shared-lib.c
+++ /dev/null
@@ -1,9 +0,0 @@
-int g1 = 0;
-int g2 = 1;
-
-void foo(int n) {
- if (n % 5 == 0)
- g1++;
- else
- g2++;
-}
diff --git a/test/profile/Inputs/instrprof-shared-lib.c.gcov b/test/profile/Inputs/instrprof-shared-lib.c.gcov
deleted file mode 100644
index 620a85257577..000000000000
--- a/test/profile/Inputs/instrprof-shared-lib.c.gcov
+++ /dev/null
@@ -1,14 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-lib.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-lib.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-lib.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:int g1 = 0;
-// CHECK-NEXT: -: 2:int g2 = 1;
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: 1: 4:void foo(int n) {
-// CHECK-NEXT: 1: 5: if (n % 5 == 0)
-// CHECK-NEXT: #####: 6: g1++;
-// CHECK-NEXT: -: 7: else
-// CHECK-NEXT: 1: 8: g2++;
-// CHECK-NEXT: 1: 9:}
diff --git a/test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov b/test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov
deleted file mode 100644
index 39b32b8c097a..000000000000
--- a/test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov
+++ /dev/null
@@ -1,14 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-lib.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-lib.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-lib.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:int g1 = 0;
-// CHECK-NEXT: -: 2:int g2 = 1;
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: 2: 4:void foo(int n) {
-// CHECK-NEXT: 2: 5: if (n % 5 == 0)
-// CHECK-NEXT: #####: 6: g1++;
-// CHECK-NEXT: -: 7: else
-// CHECK-NEXT: 2: 8: g2++;
-// CHECK-NEXT: 2: 9:}
diff --git a/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov b/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
deleted file mode 100644
index 0fc7ccbabab2..000000000000
--- a/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
+++ /dev/null
@@ -1,14 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-lib.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-lib.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-lib.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:int g1 = 0;
-// CHECK-NEXT: -: 2:int g2 = 1;
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: 1000000: 4:void foo(int n) {
-// CHECK-NEXT: 1000000: 5: if (n % 5 == 0)
-// CHECK-NEXT: 360000: 6: g1++;
-// CHECK-NEXT: -: 7: else
-// CHECK-NEXT: 640000: 8: g2++;
-// CHECK-NEXT: 1000000: 9:}
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush.c b/test/profile/Inputs/instrprof-shared-main-gcov-flush.c
deleted file mode 100644
index 9f41b7e6362a..000000000000
--- a/test/profile/Inputs/instrprof-shared-main-gcov-flush.c
+++ /dev/null
@@ -1,36 +0,0 @@
-extern void foo(int n);
-extern void __gcov_flush(void);
-
-int bar1 = 0;
-int bar2 = 1;
-
-void bar(int n) {
- if (n % 5 == 0)
- bar1++;
- else
- bar2++;
-}
-
-int main(int argc, char *argv[]) {
-#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
- foo(1);
-#endif
-
- bar(5);
-
- __gcov_flush();
-
- bar(5);
-
-#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
- foo(1);
-#endif
-
-#ifdef EXIT_ABRUPTLY
- _exit(0);
-#endif
-
- bar(5);
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov b/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
deleted file mode 100644
index 6027c64af61b..000000000000
--- a/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
+++ /dev/null
@@ -1,41 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-main-gcov-flush.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-main-gcov-flush.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:extern void foo(int n);
-// CHECK-NEXT: -: 2:extern void __gcov_flush(void);
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: -: 4:int bar1 = 0;
-// CHECK-NEXT: -: 5:int bar2 = 1;
-// CHECK-NEXT: -: 6:
-// CHECK-NEXT: 1: 7:void bar(int n) {
-// CHECK-NEXT: 1: 8: if (n % 5 == 0)
-// CHECK-NEXT: 1: 9: bar1++;
-// CHECK-NEXT: -: 10: else
-// CHECK-NEXT: #####: 11: bar2++;
-// CHECK-NEXT: 1: 12:}
-// CHECK-NEXT: -: 13:
-// CHECK-NEXT: 1: 14:int main(int argc, char *argv[]) {
-// CHECK-NEXT: -: 15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
-// CHECK-NEXT: 1: 16: foo(1);
-// CHECK-NEXT: -: 17:#endif
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: bar(5);
-// CHECK-NEXT: -: 20:
-// CHECK-NEXT: 1: 21: __gcov_flush();
-// CHECK-NEXT: -: 22:
-// CHECK-NEXT: 1: 23: bar(5);
-// CHECK-NEXT: -: 24:
-// CHECK-NEXT: -: 25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
-// CHECK-NEXT: 1: 26: foo(1);
-// CHECK-NEXT: -: 27:#endif
-// CHECK-NEXT: -: 28:
-// CHECK-NEXT: -: 29:#ifdef EXIT_ABRUPTLY
-// CHECK-NEXT: 1: 30: _exit(0);
-// CHECK-NEXT: -: 31:#endif
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: -: 33: bar(5);
-// CHECK-NEXT: -: 34:
-// CHECK-NEXT: -: 35: return 0;
-// CHECK-NEXT: #####: 36:}
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov b/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov
deleted file mode 100644
index fba3f3fe2812..000000000000
--- a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov
+++ /dev/null
@@ -1,41 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-main-gcov-flush.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-main-gcov-flush.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:extern void foo(int n);
-// CHECK-NEXT: -: 2:extern void __gcov_flush(void);
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: -: 4:int bar1 = 0;
-// CHECK-NEXT: -: 5:int bar2 = 1;
-// CHECK-NEXT: -: 6:
-// CHECK-NEXT: 3: 7:void bar(int n) {
-// CHECK-NEXT: 3: 8: if (n % 5 == 0)
-// CHECK-NEXT: 3: 9: bar1++;
-// CHECK-NEXT: -: 10: else
-// CHECK-NEXT: #####: 11: bar2++;
-// CHECK-NEXT: 3: 12:}
-// CHECK-NEXT: -: 13:
-// CHECK-NEXT: 1: 14:int main(int argc, char *argv[]) {
-// CHECK-NEXT: -: 15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
-// CHECK-NEXT: -: 16: foo(1);
-// CHECK-NEXT: -: 17:#endif
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: bar(5);
-// CHECK-NEXT: -: 20:
-// CHECK-NEXT: 1: 21: __gcov_flush();
-// CHECK-NEXT: -: 22:
-// CHECK-NEXT: 1: 23: bar(5);
-// CHECK-NEXT: -: 24:
-// CHECK-NEXT: -: 25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
-// CHECK-NEXT: 1: 26: foo(1);
-// CHECK-NEXT: -: 27:#endif
-// CHECK-NEXT: -: 28:
-// CHECK-NEXT: -: 29:#ifdef EXIT_ABRUPTLY
-// CHECK-NEXT: -: 30: _exit(0);
-// CHECK-NEXT: -: 31:#endif
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: 1: 33: bar(5);
-// CHECK-NEXT: -: 34:
-// CHECK-NEXT: 1: 35: return 0;
-// CHECK-NEXT: -: 36:}
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov b/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov
deleted file mode 100644
index 86beda22a1ad..000000000000
--- a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov
+++ /dev/null
@@ -1,41 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-main-gcov-flush.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-main-gcov-flush.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:extern void foo(int n);
-// CHECK-NEXT: -: 2:extern void __gcov_flush(void);
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: -: 4:int bar1 = 0;
-// CHECK-NEXT: -: 5:int bar2 = 1;
-// CHECK-NEXT: -: 6:
-// CHECK-NEXT: 3: 7:void bar(int n) {
-// CHECK-NEXT: 3: 8: if (n % 5 == 0)
-// CHECK-NEXT: 3: 9: bar1++;
-// CHECK-NEXT: -: 10: else
-// CHECK-NEXT: #####: 11: bar2++;
-// CHECK-NEXT: 3: 12:}
-// CHECK-NEXT: -: 13:
-// CHECK-NEXT: 1: 14:int main(int argc, char *argv[]) {
-// CHECK-NEXT: -: 15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
-// CHECK-NEXT: 1: 16: foo(1);
-// CHECK-NEXT: -: 17:#endif
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: bar(5);
-// CHECK-NEXT: -: 20:
-// CHECK-NEXT: 1: 21: __gcov_flush();
-// CHECK-NEXT: -: 22:
-// CHECK-NEXT: 1: 23: bar(5);
-// CHECK-NEXT: -: 24:
-// CHECK-NEXT: -: 25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
-// CHECK-NEXT: 1: 26: foo(1);
-// CHECK-NEXT: -: 27:#endif
-// CHECK-NEXT: -: 28:
-// CHECK-NEXT: -: 29:#ifdef EXIT_ABRUPTLY
-// CHECK-NEXT: -: 30: _exit(0);
-// CHECK-NEXT: -: 31:#endif
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: 1: 33: bar(5);
-// CHECK-NEXT: -: 34:
-// CHECK-NEXT: 1: 35: return 0;
-// CHECK-NEXT: -: 36:}
diff --git a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov b/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov
deleted file mode 100644
index 2e55741cc536..000000000000
--- a/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov
+++ /dev/null
@@ -1,41 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main-gcov-flush.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-main-gcov-flush.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-main-gcov-flush.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:extern void foo(int n);
-// CHECK-NEXT: -: 2:extern void __gcov_flush(void);
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: -: 4:int bar1 = 0;
-// CHECK-NEXT: -: 5:int bar2 = 1;
-// CHECK-NEXT: -: 6:
-// CHECK-NEXT: 3: 7:void bar(int n) {
-// CHECK-NEXT: 3: 8: if (n % 5 == 0)
-// CHECK-NEXT: 3: 9: bar1++;
-// CHECK-NEXT: -: 10: else
-// CHECK-NEXT: #####: 11: bar2++;
-// CHECK-NEXT: 3: 12:}
-// CHECK-NEXT: -: 13:
-// CHECK-NEXT: 1: 14:int main(int argc, char *argv[]) {
-// CHECK-NEXT: -: 15:#ifdef SHARED_CALL_BEFORE_GCOV_FLUSH
-// CHECK-NEXT: 1: 16: foo(1);
-// CHECK-NEXT: -: 17:#endif
-// CHECK-NEXT: -: 18:
-// CHECK-NEXT: 1: 19: bar(5);
-// CHECK-NEXT: -: 20:
-// CHECK-NEXT: 1: 21: __gcov_flush();
-// CHECK-NEXT: -: 22:
-// CHECK-NEXT: 1: 23: bar(5);
-// CHECK-NEXT: -: 24:
-// CHECK-NEXT: -: 25:#ifdef SHARED_CALL_AFTER_GCOV_FLUSH
-// CHECK-NEXT: -: 26: foo(1);
-// CHECK-NEXT: -: 27:#endif
-// CHECK-NEXT: -: 28:
-// CHECK-NEXT: -: 29:#ifdef EXIT_ABRUPTLY
-// CHECK-NEXT: -: 30: _exit(0);
-// CHECK-NEXT: -: 31:#endif
-// CHECK-NEXT: -: 32:
-// CHECK-NEXT: 1: 33: bar(5);
-// CHECK-NEXT: -: 34:
-// CHECK-NEXT: 1: 35: return 0;
-// CHECK-NEXT: -: 36:}
diff --git a/test/profile/Inputs/instrprof-shared-main.c b/test/profile/Inputs/instrprof-shared-main.c
deleted file mode 100644
index 60da3b42c63f..000000000000
--- a/test/profile/Inputs/instrprof-shared-main.c
+++ /dev/null
@@ -1,13 +0,0 @@
-extern int g1, g2;
-extern void foo(int n);
-
-int main() {
- int i, j;
- for (i = 0; i < 1000; i++)
- for (j = 0; j < 1000; j++)
- foo(i * j);
-
- if (g2 - g1 == 280001)
- return 0;
- return 1;
-}
diff --git a/test/profile/Inputs/instrprof-shared-main.c.gcov b/test/profile/Inputs/instrprof-shared-main.c.gcov
deleted file mode 100644
index 05cd4e31d6eb..000000000000
--- a/test/profile/Inputs/instrprof-shared-main.c.gcov
+++ /dev/null
@@ -1,18 +0,0 @@
-// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-shared-main.c
-// CHECK-NEXT: -: 0:Graph:instrprof-shared-main.gcno
-// CHECK-NEXT: -: 0:Data:instrprof-shared-main.gcda
-// CHECK-NEXT: -: 0:Runs:1
-// CHECK-NEXT: -: 0:Programs:1
-// CHECK-NEXT: -: 1:extern int g1, g2;
-// CHECK-NEXT: -: 2:extern void foo(int n);
-// CHECK-NEXT: -: 3:
-// CHECK-NEXT: 1: 4:int main() {
-// CHECK-NEXT: -: 5: int i, j;
-// CHECK-NEXT: 1001: 6: for (i = 0; i < 1000; i++)
-// CHECK-NEXT: 1001000: 7: for (j = 0; j < 1000; j++)
-// CHECK-NEXT: 1001000: 8: foo(i * j);
-// CHECK-NEXT: -: 9:
-// CHECK-NEXT: 1: 10: if (g2 - g1 == 280001)
-// CHECK-NEXT: 1: 11: return 0;
-// CHECK-NEXT: #####: 12: return 1;
-// CHECK-NEXT: 1: 13:}
diff --git a/test/profile/Inputs/instrprof-value-prof-evict.c b/test/profile/Inputs/instrprof-value-prof-evict.c
deleted file mode 100644
index 3b72e6e8adc4..000000000000
--- a/test/profile/Inputs/instrprof-value-prof-evict.c
+++ /dev/null
@@ -1,141 +0,0 @@
-void callee_0() {}
-void callee_1() {}
-void callee_2() {}
-void callee_3() {}
-
-void *CalleeAddrs[] = {callee_0, callee_1, callee_2, callee_3};
-extern void lprofSetMaxValsPerSite(unsigned);
-
-// sequences of callee ids
-
-// In the following sequences,
-// there are two targets, the dominating target is
-// target 0.
-int CallSeqTwoTarget_1[] = {0, 0, 0, 0, 0, 1, 1};
-int CallSeqTwoTarget_2[] = {1, 1, 0, 0, 0, 0, 0};
-int CallSeqTwoTarget_3[] = {1, 0, 0, 1, 0, 0, 0};
-int CallSeqTwoTarget_4[] = {0, 0, 0, 1, 0, 1, 0};
-
-// In the following sequences, there are three targets
-// The dominating target is 0 and has > 50% of total
-// counts.
-int CallSeqThreeTarget_1[] = {0, 0, 0, 0, 0, 0, 1, 2, 1};
-int CallSeqThreeTarget_2[] = {1, 2, 1, 0, 0, 0, 0, 0, 0};
-int CallSeqThreeTarget_3[] = {1, 0, 0, 2, 0, 0, 0, 1, 0};
-int CallSeqThreeTarget_4[] = {0, 0, 0, 1, 0, 1, 0, 0, 2};
-
-// Four target sequence --
-// There are two cold targets which occupies the value counters
-// early. There is also a very hot target and a medium hot target
-// which are invoked in an interleaved fashion -- the length of each
-// hot period in the sequence is shorter than the cold targets' count.
-// 1. If only two values are tracked, the Hot and Medium hot targets
-// should surive in the end
-// 2. If only three values are tracked, the top three targets should
-// surive in the end.
-int CallSeqFourTarget_1[] = {1, 1, 1, 2, 2, 2, 2, 0, 0, 3, 0, 0, 3, 0, 0, 3,
- 0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 3};
-
-// Same as above, but the cold entries are invoked later.
-int CallSeqFourTarget_2[] = {0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 3, 0,
- 0, 3, 0, 0, 3, 0, 0, 3, 1, 1, 1, 2, 2, 2, 2};
-
-// Same as above, but all the targets are interleaved.
-int CallSeqFourTarget_3[] = {0, 3, 0, 0, 1, 3, 0, 0, 0, 2, 0, 0, 3, 3, 0, 3,
- 2, 2, 0, 3, 3, 1, 0, 0, 1, 0, 0, 3, 0, 2, 0};
-
-typedef void (*FPT)(void);
-
-
-// Testing value profiling eviction algorithm.
-FPT getCalleeFunc(int I) { return CalleeAddrs[I]; }
-
-int main() {
- int I;
-
-#define INDIRECT_CALLSITE(Sequence, NumValsTracked) \
- lprofSetMaxValsPerSite(NumValsTracked); \
- for (I = 0; I < sizeof(Sequence) / sizeof(*Sequence); I++) { \
- FPT FP = getCalleeFunc(Sequence[I]); \
- FP(); \
- }
-
- // check site, target patterns
- // CHECK: 0, callee_0
- INDIRECT_CALLSITE(CallSeqTwoTarget_1, 1);
-
- // CHECK-NEXT: 1, callee_0
- INDIRECT_CALLSITE(CallSeqTwoTarget_2, 1);
-
- // CHECK-NEXT: 2, callee_0
- INDIRECT_CALLSITE(CallSeqTwoTarget_3, 1);
-
- // CHECK-NEXT: 3, callee_0
- INDIRECT_CALLSITE(CallSeqTwoTarget_4, 1);
-
- // CHECK-NEXT: 4, callee_0
- INDIRECT_CALLSITE(CallSeqThreeTarget_1, 1);
-
- // CHECK-NEXT: 5, callee_0
- INDIRECT_CALLSITE(CallSeqThreeTarget_2, 1);
-
- // CHECK-NEXT: 6, callee_0
- INDIRECT_CALLSITE(CallSeqThreeTarget_3, 1);
-
- // CHECK-NEXT: 7, callee_0
- INDIRECT_CALLSITE(CallSeqThreeTarget_4, 1);
-
- // CHECK-NEXT: 8, callee_0
- // CHECK-NEXT: 8, callee_1
- INDIRECT_CALLSITE(CallSeqThreeTarget_1, 2);
-
- // CHECK-NEXT: 9, callee_0
- // CHECK-NEXT: 9, callee_1
- INDIRECT_CALLSITE(CallSeqThreeTarget_2, 2);
-
- // CHECK-NEXT: 10, callee_0
- // CHECK-NEXT: 10, callee_1
- INDIRECT_CALLSITE(CallSeqThreeTarget_3, 2);
-
- // CHECK-NEXT: 11, callee_0
- // CHECK-NEXT: 11, callee_1
- INDIRECT_CALLSITE(CallSeqThreeTarget_4, 2);
-
- // CHECK-NEXT: 12, callee_0
- INDIRECT_CALLSITE(CallSeqFourTarget_1, 1);
-
- // CHECK-NEXT: 13, callee_0
- INDIRECT_CALLSITE(CallSeqFourTarget_2, 1);
-
- // CHECK-NEXT: 14, callee_0
- INDIRECT_CALLSITE(CallSeqFourTarget_3, 1);
-
- // CHECK-NEXT: 15, callee_0
- // CHECK-NEXT: 15, callee_3
- INDIRECT_CALLSITE(CallSeqFourTarget_1, 2);
-
- // CHECK-NEXT: 16, callee_0
- // CHECK-NEXT: 16, callee_3
- INDIRECT_CALLSITE(CallSeqFourTarget_2, 2);
-
- // CHECK-NEXT: 17, callee_0
- // CHECK-NEXT: 17, callee_3
- INDIRECT_CALLSITE(CallSeqFourTarget_3, 2);
-
- // CHECK-NEXT: 18, callee_0
- // CHECK-NEXT: 18, callee_3
- // CHECK-NEXT: 18, callee_2
- INDIRECT_CALLSITE(CallSeqFourTarget_1, 3);
-
- // CHECK-NEXT: 19, callee_0
- // CHECK-NEXT: 19, callee_3
- // CHECK-NEXT: 19, callee_2
- INDIRECT_CALLSITE(CallSeqFourTarget_2, 3);
-
- // CHECK-NEXT: 20, callee_0
- // CHECK-NEXT: 20, callee_3
- // CHECK-NEXT: 20, callee_2
- INDIRECT_CALLSITE(CallSeqFourTarget_3, 3);
-
- return 0;
-}
diff --git a/test/profile/Inputs/instrprof-value-prof-real.c b/test/profile/Inputs/instrprof-value-prof-real.c
deleted file mode 100644
index 65e579900722..000000000000
--- a/test/profile/Inputs/instrprof-value-prof-real.c
+++ /dev/null
@@ -1,1096 +0,0 @@
-#define DEF_FUNC(x) \
- void x() {}
-#define DEF_2_FUNCS(x) DEF_FUNC(x##_1) DEF_FUNC(x##_2)
-#define DEF_4_FUNCS(x) DEF_2_FUNCS(x##_1) DEF_2_FUNCS(x##_2)
-#define DEF_8_FUNCS(x) DEF_4_FUNCS(x##_1) DEF_4_FUNCS(x##_2)
-#define DEF_16_FUNCS(x) DEF_8_FUNCS(x##_1) DEF_8_FUNCS(x##_2)
-#define DEF_32_FUNCS(x) DEF_16_FUNCS(x##_1) DEF_16_FUNCS(x##_2)
-#define DEF_64_FUNCS(x) DEF_32_FUNCS(x##_1) DEF_32_FUNCS(x##_2)
-#define DEF_128_FUNCS(x) DEF_64_FUNCS(x##_1) DEF_64_FUNCS(x##_2)
-#define DEF_256_FUNCS(x) DEF_128_FUNCS(x##_1) DEF_128_FUNCS(x##_2)
-#define DEF_512_FUNCS(x) DEF_256_FUNCS(x##_1) DEF_256_FUNCS(x##_2)
-
-#define FUNC_ADDR(x) &x,
-#define FUNC_2_ADDRS(x) FUNC_ADDR(x##_1) FUNC_ADDR(x##_2)
-#define FUNC_4_ADDRS(x) FUNC_2_ADDRS(x##_1) FUNC_2_ADDRS(x##_2)
-#define FUNC_8_ADDRS(x) FUNC_4_ADDRS(x##_1) FUNC_4_ADDRS(x##_2)
-#define FUNC_16_ADDRS(x) FUNC_8_ADDRS(x##_1) FUNC_8_ADDRS(x##_2)
-#define FUNC_32_ADDRS(x) FUNC_16_ADDRS(x##_1) FUNC_16_ADDRS(x##_2)
-#define FUNC_64_ADDRS(x) FUNC_32_ADDRS(x##_1) FUNC_32_ADDRS(x##_2)
-#define FUNC_128_ADDRS(x) FUNC_64_ADDRS(x##_1) FUNC_64_ADDRS(x##_2)
-#define FUNC_256_ADDRS(x) FUNC_128_ADDRS(x##_1) FUNC_128_ADDRS(x##_2)
-#define FUNC_512_ADDRS(x) FUNC_256_ADDRS(x##_1) FUNC_256_ADDRS(x##_2)
-
-DEF_512_FUNCS(foo)
-void *CalleeAddrs[] = {FUNC_512_ADDRS(foo)};
-
-typedef void (*FPT)(void);
-
-FPT getFunc(int I) { return CalleeAddrs[I]; }
-
-#ifdef SHARED_LIB
-int shared_entry() {
-#else
-#ifdef CALL_SHARED
-extern int shared_entry();
-#endif
-int main() {
-#endif
- int I;
- for (I = 0; I < 512; I++) {
- FPT Fp = getFunc(I);
- int J;
- for (J = 0; J < 1000 - I; J++)
- Fp();
-
- Fp = getFunc(511 - I);
- for (J = 0; J < 2000 - I; J++)
- Fp();
-#ifdef STRESS
- Fp = getFunc(I);
- for (J = 0; J < 2000 - I; J++)
- Fp();
-
- Fp = getFunc(I);
- for (J = 0; J < 2000 - I; J++)
- Fp();
-
- Fp = getFunc(I);
- for (J = 0; J < 2000 - I; J++)
- Fp();
-
- Fp = getFunc(I);
- for (J = 0; J < 2000 - I; J++)
- Fp();
-#endif
- }
-#ifdef CALL_SHARED
- shared_entry();
-#endif
- return 0;
-}
-
-// IR: :ir
-// CHECK-LABEL: main:
-// CHECK: [ 0, foo_1_1_1_1_1_1_1_1_1, 1000 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_1_1_2, 999 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_1_2_1, 998 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_1_2_2, 997 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_2_1_1, 996 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_2_1_2, 995 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_2_2_1, 994 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_1_2_2_2, 993 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_1_1_1, 992 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_1_1_2, 991 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_1_2_1, 990 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_1_2_2, 989 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_2_1_1, 988 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_2_1_2, 987 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_2_2_1, 986 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_1_2_2_2_2, 985 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_1_1_1, 984 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_1_1_2, 983 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_1_2_1, 982 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_1_2_2, 981 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_2_1_1, 980 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_2_1_2, 979 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_2_2_1, 978 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_1_2_2_2, 977 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_1_1_1, 976 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_1_1_2, 975 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_1_2_1, 974 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_1_2_2, 973 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_2_1_1, 972 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_2_1_2, 971 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_2_2_1, 970 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_1_2_2_2_2_2, 969 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_1_1_1, 968 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_1_1_2, 967 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_1_2_1, 966 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_1_2_2, 965 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_2_1_1, 964 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_2_1_2, 963 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_2_2_1, 962 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_1_2_2_2, 961 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_1_1_1, 960 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_1_1_2, 959 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_1_2_1, 958 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_1_2_2, 957 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_2_1_1, 956 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_2_1_2, 955 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_2_2_1, 954 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_1_2_2_2_2, 953 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_1_1_1, 952 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_1_1_2, 951 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_1_2_1, 950 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_1_2_2, 949 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_2_1_1, 948 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_2_1_2, 947 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_2_2_1, 946 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_1_2_2_2, 945 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_1_1_1, 944 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_1_1_2, 943 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_1_2_1, 942 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_1_2_2, 941 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_2_1_1, 940 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_2_1_2, 939 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_2_2_1, 938 ]
-// CHECK-NEXT: [ 0, foo_1_1_1_2_2_2_2_2_2, 937 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_1_1_1, 936 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_1_1_2, 935 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_1_2_1, 934 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_1_2_2, 933 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_2_1_1, 932 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_2_1_2, 931 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_2_2_1, 930 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_1_2_2_2, 929 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_1_1_1, 928 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_1_1_2, 927 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_1_2_1, 926 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_1_2_2, 925 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_2_1_1, 924 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_2_1_2, 923 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_2_2_1, 922 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_1_2_2_2_2, 921 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_1_1_1, 920 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_1_1_2, 919 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_1_2_1, 918 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_1_2_2, 917 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_2_1_1, 916 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_2_1_2, 915 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_2_2_1, 914 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_1_2_2_2, 913 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_1_1_1, 912 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_1_1_2, 911 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_1_2_1, 910 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_1_2_2, 909 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_2_1_1, 908 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_2_1_2, 907 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_2_2_1, 906 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_1_2_2_2_2_2, 905 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_1_1_1, 904 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_1_1_2, 903 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_1_2_1, 902 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_1_2_2, 901 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_2_1_1, 900 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_2_1_2, 899 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_2_2_1, 898 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_1_2_2_2, 897 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_1_1_1, 896 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_1_1_2, 895 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_1_2_1, 894 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_1_2_2, 893 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_2_1_1, 892 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_2_1_2, 891 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_2_2_1, 890 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_1_2_2_2_2, 889 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_1_1_1, 888 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_1_1_2, 887 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_1_2_1, 886 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_1_2_2, 885 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_2_1_1, 884 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_2_1_2, 883 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_2_2_1, 882 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_1_2_2_2, 881 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_1_1_1, 880 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_1_1_2, 879 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_1_2_1, 878 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_1_2_2, 877 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_2_1_1, 876 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_2_1_2, 875 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_2_2_1, 874 ]
-// CHECK-NEXT: [ 0, foo_1_1_2_2_2_2_2_2_2, 873 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_1_1_1, 872 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_1_1_2, 871 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_1_2_1, 870 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_1_2_2, 869 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_2_1_1, 868 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_2_1_2, 867 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_2_2_1, 866 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_1_2_2_2, 865 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_1_1_1, 864 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_1_1_2, 863 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_1_2_1, 862 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_1_2_2, 861 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_2_1_1, 860 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_2_1_2, 859 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_2_2_1, 858 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_1_2_2_2_2, 857 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_1_1_1, 856 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_1_1_2, 855 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_1_2_1, 854 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_1_2_2, 853 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_2_1_1, 852 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_2_1_2, 851 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_2_2_1, 850 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_1_2_2_2, 849 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_1_1_1, 848 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_1_1_2, 847 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_1_2_1, 846 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_1_2_2, 845 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_2_1_1, 844 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_2_1_2, 843 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_2_2_1, 842 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_1_2_2_2_2_2, 841 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_1_1_1, 840 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_1_1_2, 839 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_1_2_1, 838 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_1_2_2, 837 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_2_1_1, 836 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_2_1_2, 835 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_2_2_1, 834 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_1_2_2_2, 833 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_1_1_1, 832 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_1_1_2, 831 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_1_2_1, 830 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_1_2_2, 829 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_2_1_1, 828 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_2_1_2, 827 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_2_2_1, 826 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_1_2_2_2_2, 825 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_1_1_1, 824 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_1_1_2, 823 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_1_2_1, 822 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_1_2_2, 821 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_2_1_1, 820 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_2_1_2, 819 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_2_2_1, 818 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_1_2_2_2, 817 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_1_1_1, 816 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_1_1_2, 815 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_1_2_1, 814 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_1_2_2, 813 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_2_1_1, 812 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_2_1_2, 811 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_2_2_1, 810 ]
-// CHECK-NEXT: [ 0, foo_1_2_1_2_2_2_2_2_2, 809 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_1_1_1, 808 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_1_1_2, 807 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_1_2_1, 806 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_1_2_2, 805 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_2_1_1, 804 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_2_1_2, 803 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_2_2_1, 802 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_1_2_2_2, 801 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_1_1_1, 800 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_1_1_2, 799 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_1_2_1, 798 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_1_2_2, 797 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_2_1_1, 796 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_2_1_2, 795 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_2_2_1, 794 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_1_2_2_2_2, 793 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_1_1_1, 792 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_1_1_2, 791 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_1_2_1, 790 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_1_2_2, 789 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_2_1_1, 788 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_2_1_2, 787 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_2_2_1, 786 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_1_2_2_2, 785 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_1_1_1, 784 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_1_1_2, 783 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_1_2_1, 782 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_1_2_2, 781 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_2_1_1, 780 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_2_1_2, 779 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_2_2_1, 778 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_1_2_2_2_2_2, 777 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_1_1_1, 776 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_1_1_2, 775 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_1_2_1, 774 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_1_2_2, 773 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_2_1_1, 772 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_2_1_2, 771 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_2_2_1, 770 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_1_2_2_2, 769 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_1_1_1, 768 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_1_1_2, 767 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_1_2_1, 766 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_1_2_2, 765 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_2_1_1, 764 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_2_1_2, 763 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_2_2_1, 762 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_1_2_2_2_2, 761 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_1_1_1, 760 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_1_1_2, 759 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_1_2_1, 758 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_1_2_2, 757 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_2_1_1, 756 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_2_1_2, 755 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_2_2_1, 754 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_1_2_2_2, 753 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_1_1_1, 752 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_1_1_2, 751 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_1_2_1, 750 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_1_2_2, 749 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_2_1_1, 748 ]
-// CHECK-NEXT: [ 0, foo_1_2_2_2_2_2_2_1_2, 747 ]
-// CHECK-NEXT: [ 0, foo
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_2_2_2, 2000 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_2_2_1, 1999 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_2_1_2, 1998 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_2_1_1, 1997 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_1_2_2, 1996 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_1_2_1, 1995 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_1_1_2, 1994 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_2_1_1_1, 1993 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_2_2_2, 1992 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_2_2_1, 1991 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_2_1_2, 1990 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_2_1_1, 1989 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_1_2_2, 1988 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_1_2_1, 1987 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_1_1_2, 1986 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_2_1_1_1_1, 1985 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_2_2_2, 1984 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_2_2_1, 1983 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_2_1_2, 1982 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_2_1_1, 1981 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_1_2_2, 1980 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_1_2_1, 1979 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_1_1_2, 1978 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_2_1_1_1, 1977 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_2_2_2, 1976 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_2_2_1, 1975 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_2_1_2, 1974 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_2_1_1, 1973 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_1_2_2, 1972 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_1_2_1, 1971 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_1_1_2, 1970 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_2_1_1_1_1_1, 1969 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_2_2_2, 1968 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_2_2_1, 1967 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_2_1_2, 1966 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_2_1_1, 1965 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_1_2_2, 1964 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_1_2_1, 1963 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_1_1_2, 1962 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_2_1_1_1, 1961 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_2_2_2, 1960 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_2_2_1, 1959 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_2_1_2, 1958 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_2_1_1, 1957 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_1_2_2, 1956 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_1_2_1, 1955 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_1_1_2, 1954 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_2_1_1_1_1, 1953 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_2_2_2, 1952 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_2_2_1, 1951 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_2_1_2, 1950 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_2_1_1, 1949 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_1_2_2, 1948 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_1_2_1, 1947 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_1_1_2, 1946 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_2_1_1_1, 1945 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_2_2_2, 1944 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_2_2_1, 1943 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_2_1_2, 1942 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_2_1_1, 1941 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_1_2_2, 1940 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_1_2_1, 1939 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_1_1_2, 1938 ]
-// CHECK-NEXT: [ 1, foo_2_2_2_1_1_1_1_1_1, 1937 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_2_2_2, 1936 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_2_2_1, 1935 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_2_1_2, 1934 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_2_1_1, 1933 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_1_2_2, 1932 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_1_2_1, 1931 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_1_1_2, 1930 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_2_1_1_1, 1929 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_2_2_2, 1928 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_2_2_1, 1927 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_2_1_2, 1926 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_2_1_1, 1925 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_1_2_2, 1924 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_1_2_1, 1923 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_1_1_2, 1922 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_2_1_1_1_1, 1921 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_2_2_2, 1920 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_2_2_1, 1919 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_2_1_2, 1918 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_2_1_1, 1917 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_1_2_2, 1916 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_1_2_1, 1915 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_1_1_2, 1914 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_2_1_1_1, 1913 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_2_2_2, 1912 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_2_2_1, 1911 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_2_1_2, 1910 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_2_1_1, 1909 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_1_2_2, 1908 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_1_2_1, 1907 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_1_1_2, 1906 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_2_1_1_1_1_1, 1905 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_2_2_2, 1904 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_2_2_1, 1903 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_2_1_2, 1902 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_2_1_1, 1901 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_1_2_2, 1900 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_1_2_1, 1899 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_1_1_2, 1898 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_2_1_1_1, 1897 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_2_2_2, 1896 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_2_2_1, 1895 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_2_1_2, 1894 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_2_1_1, 1893 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_1_2_2, 1892 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_1_2_1, 1891 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_1_1_2, 1890 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_2_1_1_1_1, 1889 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_2_2_2, 1888 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_2_2_1, 1887 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_2_1_2, 1886 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_2_1_1, 1885 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_1_2_2, 1884 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_1_2_1, 1883 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_1_1_2, 1882 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_2_1_1_1, 1881 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_2_2_2, 1880 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_2_2_1, 1879 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_2_1_2, 1878 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_2_1_1, 1877 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_1_2_2, 1876 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_1_2_1, 1875 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_1_1_2, 1874 ]
-// CHECK-NEXT: [ 1, foo_2_2_1_1_1_1_1_1_1, 1873 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_2_2_2, 1872 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_2_2_1, 1871 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_2_1_2, 1870 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_2_1_1, 1869 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_1_2_2, 1868 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_1_2_1, 1867 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_1_1_2, 1866 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_2_1_1_1, 1865 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_2_2_2, 1864 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_2_2_1, 1863 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_2_1_2, 1862 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_2_1_1, 1861 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_1_2_2, 1860 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_1_2_1, 1859 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_1_1_2, 1858 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_2_1_1_1_1, 1857 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_2_2_2, 1856 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_2_2_1, 1855 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_2_1_2, 1854 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_2_1_1, 1853 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_1_2_2, 1852 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_1_2_1, 1851 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_1_1_2, 1850 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_2_1_1_1, 1849 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_2_2_2, 1848 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_2_2_1, 1847 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_2_1_2, 1846 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_2_1_1, 1845 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_1_2_2, 1844 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_1_2_1, 1843 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_1_1_2, 1842 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_2_1_1_1_1_1, 1841 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_2_2_2, 1840 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_2_2_1, 1839 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_2_1_2, 1838 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_2_1_1, 1837 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_1_2_2, 1836 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_1_2_1, 1835 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_1_1_2, 1834 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_2_1_1_1, 1833 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_2_2_2, 1832 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_2_2_1, 1831 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_2_1_2, 1830 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_2_1_1, 1829 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_1_2_2, 1828 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_1_2_1, 1827 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_1_1_2, 1826 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_2_1_1_1_1, 1825 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_2_2_2, 1824 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_2_2_1, 1823 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_2_1_2, 1822 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_2_1_1, 1821 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_1_2_2, 1820 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_1_2_1, 1819 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_1_1_2, 1818 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_2_1_1_1, 1817 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_2_2_2, 1816 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_2_2_1, 1815 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_2_1_2, 1814 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_2_1_1, 1813 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_1_2_2, 1812 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_1_2_1, 1811 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_1_1_2, 1810 ]
-// CHECK-NEXT: [ 1, foo_2_1_2_1_1_1_1_1_1, 1809 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_2_2_2, 1808 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_2_2_1, 1807 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_2_1_2, 1806 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_2_1_1, 1805 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_1_2_2, 1804 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_1_2_1, 1803 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_1_1_2, 1802 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_2_1_1_1, 1801 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_2_2_2, 1800 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_2_2_1, 1799 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_2_1_2, 1798 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_2_1_1, 1797 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_1_2_2, 1796 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_1_2_1, 1795 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_1_1_2, 1794 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_2_1_1_1_1, 1793 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_2_2_2, 1792 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_2_2_1, 1791 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_2_1_2, 1790 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_2_1_1, 1789 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_1_2_2, 1788 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_1_2_1, 1787 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_1_1_2, 1786 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_2_1_1_1, 1785 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_2_2_2, 1784 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_2_2_1, 1783 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_2_1_2, 1782 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_2_1_1, 1781 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_1_2_2, 1780 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_1_2_1, 1779 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_1_1_2, 1778 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_2_1_1_1_1_1, 1777 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_2_2_2, 1776 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_2_2_1, 1775 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_2_1_2, 1774 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_2_1_1, 1773 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_1_2_2, 1772 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_1_2_1, 1771 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_1_1_2, 1770 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_2_1_1_1, 1769 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_2_2_2, 1768 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_2_2_1, 1767 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_2_1_2, 1766 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_2_1_1, 1765 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_1_2_2, 1764 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_1_2_1, 1763 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_1_1_2, 1762 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_2_1_1_1_1, 1761 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_2_2_2, 1760 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_2_2_1, 1759 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_2_1_2, 1758 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_2_1_1, 1757 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_1_2_2, 1756 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_1_2_1, 1755 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_1_1_2, 1754 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_2_1_1_1, 1753 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_2_2_2, 1752 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_2_2_1, 1751 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_2_1_2, 1750 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_2_1_1, 1749 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_1_2_2, 1748 ]
-// CHECK-NEXT: [ 1, foo_2_1_1_1_1_1_1_2_1, 1747 ]
-// CHECK-NEXT: [ 1, foo
-
-// SHARED-LABEL: shared_entry:
-// SHARED: [ 0, foo_1_1_1_1_1_1_1_1_1, 1000 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_1_1_2, 999 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_1_2_1, 998 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_1_2_2, 997 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_2_1_1, 996 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_2_1_2, 995 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_2_2_1, 994 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_1_2_2_2, 993 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_1_1_1, 992 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_1_1_2, 991 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_1_2_1, 990 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_1_2_2, 989 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_2_1_1, 988 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_2_1_2, 987 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_2_2_1, 986 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_1_2_2_2_2, 985 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_1_1_1, 984 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_1_1_2, 983 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_1_2_1, 982 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_1_2_2, 981 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_2_1_1, 980 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_2_1_2, 979 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_2_2_1, 978 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_1_2_2_2, 977 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_1_1_1, 976 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_1_1_2, 975 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_1_2_1, 974 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_1_2_2, 973 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_2_1_1, 972 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_2_1_2, 971 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_2_2_1, 970 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_1_2_2_2_2_2, 969 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_1_1_1, 968 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_1_1_2, 967 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_1_2_1, 966 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_1_2_2, 965 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_2_1_1, 964 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_2_1_2, 963 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_2_2_1, 962 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_1_2_2_2, 961 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_1_1_1, 960 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_1_1_2, 959 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_1_2_1, 958 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_1_2_2, 957 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_2_1_1, 956 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_2_1_2, 955 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_2_2_1, 954 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_1_2_2_2_2, 953 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_1_1_1, 952 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_1_1_2, 951 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_1_2_1, 950 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_1_2_2, 949 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_2_1_1, 948 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_2_1_2, 947 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_2_2_1, 946 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_1_2_2_2, 945 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_1_1_1, 944 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_1_1_2, 943 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_1_2_1, 942 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_1_2_2, 941 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_2_1_1, 940 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_2_1_2, 939 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_2_2_1, 938 ]
-// SHARED-NEXT: [ 0, foo_1_1_1_2_2_2_2_2_2, 937 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_1_1_1, 936 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_1_1_2, 935 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_1_2_1, 934 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_1_2_2, 933 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_2_1_1, 932 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_2_1_2, 931 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_2_2_1, 930 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_1_2_2_2, 929 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_1_1_1, 928 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_1_1_2, 927 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_1_2_1, 926 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_1_2_2, 925 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_2_1_1, 924 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_2_1_2, 923 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_2_2_1, 922 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_1_2_2_2_2, 921 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_1_1_1, 920 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_1_1_2, 919 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_1_2_1, 918 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_1_2_2, 917 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_2_1_1, 916 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_2_1_2, 915 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_2_2_1, 914 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_1_2_2_2, 913 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_1_1_1, 912 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_1_1_2, 911 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_1_2_1, 910 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_1_2_2, 909 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_2_1_1, 908 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_2_1_2, 907 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_2_2_1, 906 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_1_2_2_2_2_2, 905 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_1_1_1, 904 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_1_1_2, 903 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_1_2_1, 902 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_1_2_2, 901 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_2_1_1, 900 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_2_1_2, 899 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_2_2_1, 898 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_1_2_2_2, 897 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_1_1_1, 896 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_1_1_2, 895 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_1_2_1, 894 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_1_2_2, 893 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_2_1_1, 892 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_2_1_2, 891 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_2_2_1, 890 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_1_2_2_2_2, 889 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_1_1_1, 888 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_1_1_2, 887 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_1_2_1, 886 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_1_2_2, 885 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_2_1_1, 884 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_2_1_2, 883 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_2_2_1, 882 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_1_2_2_2, 881 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_1_1_1, 880 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_1_1_2, 879 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_1_2_1, 878 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_1_2_2, 877 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_2_1_1, 876 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_2_1_2, 875 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_2_2_1, 874 ]
-// SHARED-NEXT: [ 0, foo_1_1_2_2_2_2_2_2_2, 873 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_1_1_1, 872 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_1_1_2, 871 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_1_2_1, 870 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_1_2_2, 869 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_2_1_1, 868 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_2_1_2, 867 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_2_2_1, 866 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_1_2_2_2, 865 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_1_1_1, 864 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_1_1_2, 863 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_1_2_1, 862 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_1_2_2, 861 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_2_1_1, 860 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_2_1_2, 859 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_2_2_1, 858 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_1_2_2_2_2, 857 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_1_1_1, 856 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_1_1_2, 855 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_1_2_1, 854 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_1_2_2, 853 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_2_1_1, 852 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_2_1_2, 851 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_2_2_1, 850 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_1_2_2_2, 849 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_1_1_1, 848 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_1_1_2, 847 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_1_2_1, 846 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_1_2_2, 845 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_2_1_1, 844 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_2_1_2, 843 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_2_2_1, 842 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_1_2_2_2_2_2, 841 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_1_1_1, 840 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_1_1_2, 839 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_1_2_1, 838 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_1_2_2, 837 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_2_1_1, 836 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_2_1_2, 835 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_2_2_1, 834 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_1_2_2_2, 833 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_1_1_1, 832 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_1_1_2, 831 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_1_2_1, 830 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_1_2_2, 829 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_2_1_1, 828 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_2_1_2, 827 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_2_2_1, 826 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_1_2_2_2_2, 825 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_1_1_1, 824 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_1_1_2, 823 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_1_2_1, 822 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_1_2_2, 821 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_2_1_1, 820 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_2_1_2, 819 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_2_2_1, 818 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_1_2_2_2, 817 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_1_1_1, 816 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_1_1_2, 815 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_1_2_1, 814 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_1_2_2, 813 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_2_1_1, 812 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_2_1_2, 811 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_2_2_1, 810 ]
-// SHARED-NEXT: [ 0, foo_1_2_1_2_2_2_2_2_2, 809 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_1_1_1, 808 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_1_1_2, 807 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_1_2_1, 806 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_1_2_2, 805 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_2_1_1, 804 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_2_1_2, 803 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_2_2_1, 802 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_1_2_2_2, 801 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_1_1_1, 800 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_1_1_2, 799 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_1_2_1, 798 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_1_2_2, 797 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_2_1_1, 796 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_2_1_2, 795 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_2_2_1, 794 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_1_2_2_2_2, 793 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_1_1_1, 792 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_1_1_2, 791 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_1_2_1, 790 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_1_2_2, 789 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_2_1_1, 788 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_2_1_2, 787 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_2_2_1, 786 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_1_2_2_2, 785 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_1_1_1, 784 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_1_1_2, 783 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_1_2_1, 782 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_1_2_2, 781 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_2_1_1, 780 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_2_1_2, 779 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_2_2_1, 778 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_1_2_2_2_2_2, 777 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_1_1_1, 776 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_1_1_2, 775 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_1_2_1, 774 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_1_2_2, 773 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_2_1_1, 772 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_2_1_2, 771 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_2_2_1, 770 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_1_2_2_2, 769 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_1_1_1, 768 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_1_1_2, 767 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_1_2_1, 766 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_1_2_2, 765 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_2_1_1, 764 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_2_1_2, 763 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_2_2_1, 762 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_1_2_2_2_2, 761 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_1_1_1, 760 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_1_1_2, 759 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_1_2_1, 758 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_1_2_2, 757 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_2_1_1, 756 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_2_1_2, 755 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_2_2_1, 754 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_1_2_2_2, 753 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_1_1_1, 752 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_1_1_2, 751 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_1_2_1, 750 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_1_2_2, 749 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_2_1_1, 748 ]
-// SHARED-NEXT: [ 0, foo_1_2_2_2_2_2_2_1_2, 747 ]
-// SHARED-NEXT: [ 0, foo
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_2_2_2, 2000 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_2_2_1, 1999 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_2_1_2, 1998 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_2_1_1, 1997 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_1_2_2, 1996 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_1_2_1, 1995 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_1_1_2, 1994 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_2_1_1_1, 1993 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_2_2_2, 1992 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_2_2_1, 1991 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_2_1_2, 1990 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_2_1_1, 1989 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_1_2_2, 1988 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_1_2_1, 1987 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_1_1_2, 1986 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_2_1_1_1_1, 1985 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_2_2_2, 1984 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_2_2_1, 1983 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_2_1_2, 1982 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_2_1_1, 1981 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_1_2_2, 1980 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_1_2_1, 1979 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_1_1_2, 1978 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_2_1_1_1, 1977 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_2_2_2, 1976 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_2_2_1, 1975 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_2_1_2, 1974 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_2_1_1, 1973 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_1_2_2, 1972 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_1_2_1, 1971 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_1_1_2, 1970 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_2_1_1_1_1_1, 1969 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_2_2_2, 1968 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_2_2_1, 1967 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_2_1_2, 1966 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_2_1_1, 1965 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_1_2_2, 1964 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_1_2_1, 1963 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_1_1_2, 1962 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_2_1_1_1, 1961 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_2_2_2, 1960 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_2_2_1, 1959 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_2_1_2, 1958 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_2_1_1, 1957 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_1_2_2, 1956 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_1_2_1, 1955 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_1_1_2, 1954 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_2_1_1_1_1, 1953 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_2_2_2, 1952 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_2_2_1, 1951 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_2_1_2, 1950 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_2_1_1, 1949 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_1_2_2, 1948 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_1_2_1, 1947 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_1_1_2, 1946 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_2_1_1_1, 1945 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_2_2_2, 1944 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_2_2_1, 1943 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_2_1_2, 1942 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_2_1_1, 1941 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_1_2_2, 1940 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_1_2_1, 1939 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_1_1_2, 1938 ]
-// SHARED-NEXT: [ 1, foo_2_2_2_1_1_1_1_1_1, 1937 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_2_2_2, 1936 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_2_2_1, 1935 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_2_1_2, 1934 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_2_1_1, 1933 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_1_2_2, 1932 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_1_2_1, 1931 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_1_1_2, 1930 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_2_1_1_1, 1929 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_2_2_2, 1928 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_2_2_1, 1927 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_2_1_2, 1926 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_2_1_1, 1925 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_1_2_2, 1924 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_1_2_1, 1923 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_1_1_2, 1922 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_2_1_1_1_1, 1921 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_2_2_2, 1920 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_2_2_1, 1919 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_2_1_2, 1918 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_2_1_1, 1917 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_1_2_2, 1916 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_1_2_1, 1915 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_1_1_2, 1914 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_2_1_1_1, 1913 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_2_2_2, 1912 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_2_2_1, 1911 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_2_1_2, 1910 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_2_1_1, 1909 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_1_2_2, 1908 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_1_2_1, 1907 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_1_1_2, 1906 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_2_1_1_1_1_1, 1905 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_2_2_2, 1904 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_2_2_1, 1903 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_2_1_2, 1902 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_2_1_1, 1901 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_1_2_2, 1900 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_1_2_1, 1899 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_1_1_2, 1898 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_2_1_1_1, 1897 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_2_2_2, 1896 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_2_2_1, 1895 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_2_1_2, 1894 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_2_1_1, 1893 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_1_2_2, 1892 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_1_2_1, 1891 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_1_1_2, 1890 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_2_1_1_1_1, 1889 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_2_2_2, 1888 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_2_2_1, 1887 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_2_1_2, 1886 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_2_1_1, 1885 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_1_2_2, 1884 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_1_2_1, 1883 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_1_1_2, 1882 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_2_1_1_1, 1881 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_2_2_2, 1880 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_2_2_1, 1879 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_2_1_2, 1878 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_2_1_1, 1877 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_1_2_2, 1876 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_1_2_1, 1875 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_1_1_2, 1874 ]
-// SHARED-NEXT: [ 1, foo_2_2_1_1_1_1_1_1_1, 1873 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_2_2_2, 1872 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_2_2_1, 1871 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_2_1_2, 1870 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_2_1_1, 1869 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_1_2_2, 1868 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_1_2_1, 1867 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_1_1_2, 1866 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_2_1_1_1, 1865 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_2_2_2, 1864 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_2_2_1, 1863 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_2_1_2, 1862 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_2_1_1, 1861 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_1_2_2, 1860 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_1_2_1, 1859 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_1_1_2, 1858 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_2_1_1_1_1, 1857 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_2_2_2, 1856 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_2_2_1, 1855 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_2_1_2, 1854 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_2_1_1, 1853 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_1_2_2, 1852 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_1_2_1, 1851 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_1_1_2, 1850 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_2_1_1_1, 1849 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_2_2_2, 1848 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_2_2_1, 1847 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_2_1_2, 1846 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_2_1_1, 1845 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_1_2_2, 1844 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_1_2_1, 1843 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_1_1_2, 1842 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_2_1_1_1_1_1, 1841 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_2_2_2, 1840 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_2_2_1, 1839 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_2_1_2, 1838 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_2_1_1, 1837 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_1_2_2, 1836 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_1_2_1, 1835 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_1_1_2, 1834 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_2_1_1_1, 1833 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_2_2_2, 1832 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_2_2_1, 1831 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_2_1_2, 1830 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_2_1_1, 1829 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_1_2_2, 1828 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_1_2_1, 1827 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_1_1_2, 1826 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_2_1_1_1_1, 1825 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_2_2_2, 1824 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_2_2_1, 1823 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_2_1_2, 1822 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_2_1_1, 1821 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_1_2_2, 1820 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_1_2_1, 1819 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_1_1_2, 1818 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_2_1_1_1, 1817 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_2_2_2, 1816 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_2_2_1, 1815 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_2_1_2, 1814 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_2_1_1, 1813 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_1_2_2, 1812 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_1_2_1, 1811 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_1_1_2, 1810 ]
-// SHARED-NEXT: [ 1, foo_2_1_2_1_1_1_1_1_1, 1809 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_2_2_2, 1808 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_2_2_1, 1807 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_2_1_2, 1806 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_2_1_1, 1805 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_1_2_2, 1804 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_1_2_1, 1803 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_1_1_2, 1802 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_2_1_1_1, 1801 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_2_2_2, 1800 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_2_2_1, 1799 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_2_1_2, 1798 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_2_1_1, 1797 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_1_2_2, 1796 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_1_2_1, 1795 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_1_1_2, 1794 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_2_1_1_1_1, 1793 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_2_2_2, 1792 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_2_2_1, 1791 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_2_1_2, 1790 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_2_1_1, 1789 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_1_2_2, 1788 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_1_2_1, 1787 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_1_1_2, 1786 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_2_1_1_1, 1785 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_2_2_2, 1784 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_2_2_1, 1783 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_2_1_2, 1782 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_2_1_1, 1781 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_1_2_2, 1780 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_1_2_1, 1779 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_1_1_2, 1778 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_2_1_1_1_1_1, 1777 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_2_2_2, 1776 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_2_2_1, 1775 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_2_1_2, 1774 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_2_1_1, 1773 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_1_2_2, 1772 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_1_2_1, 1771 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_1_1_2, 1770 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_2_1_1_1, 1769 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_2_2_2, 1768 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_2_2_1, 1767 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_2_1_2, 1766 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_2_1_1, 1765 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_1_2_2, 1764 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_1_2_1, 1763 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_1_1_2, 1762 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_2_1_1_1_1, 1761 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_2_2_2, 1760 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_2_2_1, 1759 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_2_1_2, 1758 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_2_1_1, 1757 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_1_2_2, 1756 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_1_2_1, 1755 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_1_1_2, 1754 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_2_1_1_1, 1753 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_2_2_2, 1752 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_2_2_1, 1751 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_2_1_2, 1750 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_2_1_1, 1749 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_1_2_2, 1748 ]
-// SHARED-NEXT: [ 1, foo_2_1_1_1_1_1_1_2_1, 1747 ]
-// SHARED-NEXT: [ 1, foo
diff --git a/test/profile/Inputs/instrprof-visibility-helper.cpp b/test/profile/Inputs/instrprof-visibility-helper.cpp
deleted file mode 100644
index 6d3bc69b3007..000000000000
--- a/test/profile/Inputs/instrprof-visibility-helper.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-namespace N1 {
-void f4() {}
-}