forked from OSchip/llvm-project
Stop depending on the keys in a hash table being in a particular order.
llvm-svn: 264488
This commit is contained in:
parent
1fd6d1fd36
commit
11598143f4
|
@ -1,7 +1,13 @@
|
|||
// RUN: %clang_profgen -O2 -o %t %s
|
||||
// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t
|
||||
// RUN: llvm-profdata merge -o %t.profdata %t.profraw
|
||||
// RUN: llvm-profdata show --all-functions -ic-targets %t.profdata | FileCheck %s
|
||||
// RUN: llvm-profdata show --all-functions -ic-targets %t.profdata > %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-1 < %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-2 < %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-3 < %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-4 < %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-5 < %t.out
|
||||
// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-6 < %t.out
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
@ -57,79 +63,79 @@ int main(int argc, const char *argv[]) {
|
|||
}
|
||||
}
|
||||
|
||||
// CHECK-LABEL: caller_with_value_site_never_called2:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count
|
||||
// CHECK-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-LABEL: caller_with_vp2:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count:
|
||||
// CHECK-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-NEXT: [ 0, callee1, 1 ]
|
||||
// CHECK-NEXT: [ 0, callee2, 1 ]
|
||||
// CHECK-NEXT: [ 1, callee1, 2 ]
|
||||
// CHECK-NEXT: [ 1, callee2, 1 ]
|
||||
// CHECK-NEXT: [ 2, callee1, 3 ]
|
||||
// CHECK-NEXT: [ 2, callee2, 2 ]
|
||||
// CHECK-NEXT: [ 3, callee1, 4 ]
|
||||
// CHECK-NEXT: [ 3, callee2, 2 ]
|
||||
// CHECK-NEXT: [ 4, callee1, 5 ]
|
||||
// CHECK-NEXT: [ 4, callee2, 3 ]
|
||||
// CHECK-NEXT: [ 5, callee1, 6 ]
|
||||
// CHECK-NEXT: [ 5, callee2, 3 ]
|
||||
// CHECK-NEXT: [ 6, callee1, 7 ]
|
||||
// CHECK-NEXT: [ 6, callee2, 4 ]
|
||||
// CHECK-NEXT: [ 7, callee1, 8 ]
|
||||
// CHECK-NEXT: [ 7, callee2, 4 ]
|
||||
// CHECK-NEXT: [ 8, callee1, 9 ]
|
||||
// CHECK-NEXT: [ 8, callee2, 5 ]
|
||||
// CHECK-NEXT: [ 9, callee1, 10 ]
|
||||
// CHECK-NEXT: [ 9, callee2, 5 ]
|
||||
// CHECK-LABEL: caller_with_vp1:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count
|
||||
// CHECK-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-NEXT: [ 0, callee1, 1 ]
|
||||
// CHECK-NEXT: [ 0, callee2, 1 ]
|
||||
// CHECK-NEXT: [ 1, callee1, 2 ]
|
||||
// CHECK-NEXT: [ 1, callee2, 1 ]
|
||||
// CHECK-NEXT: [ 2, callee1, 3 ]
|
||||
// CHECK-NEXT: [ 2, callee2, 2 ]
|
||||
// CHECK-NEXT: [ 3, callee1, 4 ]
|
||||
// CHECK-NEXT: [ 3, callee2, 2 ]
|
||||
// CHECK-NEXT: [ 4, callee1, 5 ]
|
||||
// CHECK-NEXT: [ 4, callee2, 3 ]
|
||||
// CHECK-NEXT: [ 5, callee1, 6 ]
|
||||
// CHECK-NEXT: [ 5, callee2, 3 ]
|
||||
// CHECK-NEXT: [ 6, callee1, 7 ]
|
||||
// CHECK-NEXT: [ 6, callee2, 4 ]
|
||||
// CHECK-NEXT: [ 7, callee1, 8 ]
|
||||
// CHECK-NEXT: [ 7, callee2, 4 ]
|
||||
// CHECK-NEXT: [ 8, callee1, 9 ]
|
||||
// CHECK-NEXT: [ 8, callee2, 5 ]
|
||||
// CHECK-NEXT: [ 9, callee1, 10 ]
|
||||
// CHECK-NEXT: [ 9, callee2, 5 ]
|
||||
// CHECK-LABEL: caller_with_value_site_never_called1:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count:
|
||||
// CHECK-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-LABEL: caller_without_value_site2:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count:
|
||||
// CHECK-NEXT: Indirect Call Site Count: 0
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-LABEL: caller_without_value_site1:
|
||||
// CHECK-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-NEXT: Counters:
|
||||
// CHECK-NEXT: Function count:
|
||||
// CHECK-NEXT: Indirect Call Site Count: 0
|
||||
// CHECK-NEXT: Indirect Target Results:
|
||||
// CHECK-1-LABEL: caller_with_value_site_never_called2:
|
||||
// CHECK-1-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-1-NEXT: Counters:
|
||||
// CHECK-1-NEXT: Function count
|
||||
// CHECK-1-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-1-NEXT: Indirect Target Results:
|
||||
// CHECK-2-LABEL: caller_with_vp2:
|
||||
// CHECK-2-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-2-NEXT: Counters:
|
||||
// CHECK-2-NEXT: Function count:
|
||||
// CHECK-2-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-2-NEXT: Indirect Target Results:
|
||||
// CHECK-2-NEXT: [ 0, callee1, 1 ]
|
||||
// CHECK-2-NEXT: [ 0, callee2, 1 ]
|
||||
// CHECK-2-NEXT: [ 1, callee1, 2 ]
|
||||
// CHECK-2-NEXT: [ 1, callee2, 1 ]
|
||||
// CHECK-2-NEXT: [ 2, callee1, 3 ]
|
||||
// CHECK-2-NEXT: [ 2, callee2, 2 ]
|
||||
// CHECK-2-NEXT: [ 3, callee1, 4 ]
|
||||
// CHECK-2-NEXT: [ 3, callee2, 2 ]
|
||||
// CHECK-2-NEXT: [ 4, callee1, 5 ]
|
||||
// CHECK-2-NEXT: [ 4, callee2, 3 ]
|
||||
// CHECK-2-NEXT: [ 5, callee1, 6 ]
|
||||
// CHECK-2-NEXT: [ 5, callee2, 3 ]
|
||||
// CHECK-2-NEXT: [ 6, callee1, 7 ]
|
||||
// CHECK-2-NEXT: [ 6, callee2, 4 ]
|
||||
// CHECK-2-NEXT: [ 7, callee1, 8 ]
|
||||
// CHECK-2-NEXT: [ 7, callee2, 4 ]
|
||||
// CHECK-2-NEXT: [ 8, callee1, 9 ]
|
||||
// CHECK-2-NEXT: [ 8, callee2, 5 ]
|
||||
// CHECK-2-NEXT: [ 9, callee1, 10 ]
|
||||
// CHECK-2-NEXT: [ 9, callee2, 5 ]
|
||||
// CHECK-3-LABEL: caller_with_vp1:
|
||||
// CHECK-3-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-3-NEXT: Counters:
|
||||
// CHECK-3-NEXT: Function count
|
||||
// CHECK-3-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-3-NEXT: Indirect Target Results:
|
||||
// CHECK-3-NEXT: [ 0, callee1, 1 ]
|
||||
// CHECK-3-NEXT: [ 0, callee2, 1 ]
|
||||
// CHECK-3-NEXT: [ 1, callee1, 2 ]
|
||||
// CHECK-3-NEXT: [ 1, callee2, 1 ]
|
||||
// CHECK-3-NEXT: [ 2, callee1, 3 ]
|
||||
// CHECK-3-NEXT: [ 2, callee2, 2 ]
|
||||
// CHECK-3-NEXT: [ 3, callee1, 4 ]
|
||||
// CHECK-3-NEXT: [ 3, callee2, 2 ]
|
||||
// CHECK-3-NEXT: [ 4, callee1, 5 ]
|
||||
// CHECK-3-NEXT: [ 4, callee2, 3 ]
|
||||
// CHECK-3-NEXT: [ 5, callee1, 6 ]
|
||||
// CHECK-3-NEXT: [ 5, callee2, 3 ]
|
||||
// CHECK-3-NEXT: [ 6, callee1, 7 ]
|
||||
// CHECK-3-NEXT: [ 6, callee2, 4 ]
|
||||
// CHECK-3-NEXT: [ 7, callee1, 8 ]
|
||||
// CHECK-3-NEXT: [ 7, callee2, 4 ]
|
||||
// CHECK-3-NEXT: [ 8, callee1, 9 ]
|
||||
// CHECK-3-NEXT: [ 8, callee2, 5 ]
|
||||
// CHECK-3-NEXT: [ 9, callee1, 10 ]
|
||||
// CHECK-3-NEXT: [ 9, callee2, 5 ]
|
||||
// CHECK-4-LABEL: caller_with_value_site_never_called1:
|
||||
// CHECK-4-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-4-NEXT: Counters:
|
||||
// CHECK-4-NEXT: Function count:
|
||||
// CHECK-4-NEXT: Indirect Call Site Count: 10
|
||||
// CHECK-4-NEXT: Indirect Target Results:
|
||||
// CHECK-5-LABEL: caller_without_value_site2:
|
||||
// CHECK-5-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-5-NEXT: Counters:
|
||||
// CHECK-5-NEXT: Function count:
|
||||
// CHECK-5-NEXT: Indirect Call Site Count: 0
|
||||
// CHECK-5-NEXT: Indirect Target Results:
|
||||
// CHECK-6-LABEL: caller_without_value_site1:
|
||||
// CHECK-6-NEXT: Hash: 0x0000000000000000
|
||||
// CHECK-6-NEXT: Counters:
|
||||
// CHECK-6-NEXT: Function count:
|
||||
// CHECK-6-NEXT: Indirect Call Site Count: 0
|
||||
// CHECK-6-NEXT: Indirect Target Results:
|
||||
|
|
Loading…
Reference in New Issue