| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,52 +1,52 @@ | ||
| _Z14simple_wrapperv | ||
| 18129 | ||
| 2 | ||
| 1 | ||
| 100 | ||
|
|
||
| main | ||
| 24 | ||
| 1 | ||
| 1 | ||
|
|
||
| _ZN6SimpleD1Ev | ||
| 42129 | ||
| 2 | ||
| 0 | ||
| 0 | ||
|
|
||
| _ZN6SimpleD2Ev | ||
| 42129 | ||
| 2 | ||
| 100 | ||
| 99 | ||
|
|
||
| _ZN6Simple6methodEv | ||
| 42129 | ||
| 2 | ||
| 100 | ||
| 99 | ||
|
|
||
| _ZN6SimpleC1Ei | ||
| 42129 | ||
| 2 | ||
| 0 | ||
| 0 | ||
|
|
||
| _ZN6SimpleC2Ei | ||
| 42129 | ||
| 2 | ||
| 100 | ||
| 99 | ||
|
|
||
| _ZN7DerivedC1Ev | ||
| 42129 | ||
| 2 | ||
| 100 | ||
| 99 | ||
|
|
||
| _ZN7DerivedD2Ev | ||
| 42129 | ||
| 2 | ||
| 100 | ||
| 99 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,239 @@ | ||
| _Z11loop_returnv | ||
| # Func Hash: | ||
| 1160721 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z10loop_breakv | ||
| # Func Hash: | ||
| 1160593 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z8no_gotosv | ||
| # Func Hash: | ||
| 1 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z13loop_continuev | ||
| # Func Hash: | ||
| 1160657 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z18loop_after_if_elsev | ||
| # Func Hash: | ||
| 11044458641 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z21consecutive_try_catchv | ||
| # Func Hash: | ||
| 49221687100497 | ||
| # Num Counters: | ||
| 5 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z16nested_try_catchv | ||
| # Func Hash: | ||
| 49147600487505 | ||
| # Num Counters: | ||
| 5 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z13indirect_gotov | ||
| # Func Hash: | ||
| 1345 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z17nested_for_rangesv | ||
| # Func Hash: | ||
| 1332305 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z18loop_in_then_blockv | ||
| # Func Hash: | ||
| 11040003281 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z22consecutive_for_rangesv | ||
| # Func Hash: | ||
| 1380689 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z15consecutive_dosv | ||
| # Func Hash: | ||
| 856273 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z11direct_gotov | ||
| # Func Hash: | ||
| 1281 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| main | ||
| # Func Hash: | ||
| 24 | ||
| # Num Counters: | ||
| 1 | ||
| # Counter Values: | ||
| 1 | ||
|
|
||
| _Z11double_lnotv | ||
| # Func Hash: | ||
| 174695569 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z18if_inside_of_whilev | ||
| # Func Hash: | ||
| 36250705 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z11single_lnotv | ||
| # Func Hash: | ||
| 2729105 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z19if_outside_of_whilev | ||
| # Func Hash: | ||
| 38053009 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z8no_throwv | ||
| # Func Hash: | ||
| 0 | ||
| # Num Counters: | ||
| 1 | ||
| # Counter Values: | ||
| 0 | ||
|
|
||
| _Z9has_throwv | ||
| # Func Hash: | ||
| 25 | ||
| # Num Counters: | ||
| 1 | ||
| # Counter Values: | ||
| 0 | ||
|
|
||
| _Z10nested_dosv | ||
| # Func Hash: | ||
| 799825 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z16if_inside_of_forv | ||
| # Func Hash: | ||
| 4750648401 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z18loop_in_else_blockv | ||
| # Func Hash: | ||
| 11044398161 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z17if_outside_of_forv | ||
| # Func Hash: | ||
| 4752450705 | ||
| # Num Counters: | ||
| 3 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| _Z10loop_emptyv | ||
| # Func Hash: | ||
| 18129 | ||
| # Num Counters: | ||
| 2 | ||
| # Counter Values: | ||
| 0 | ||
| 0 | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,17 @@ | ||
| cxx-lambda.cpp:_ZZ7lambdasvENK3$_0clEi | ||
| 11211970062 | ||
| 3 | ||
| 10 | ||
| 9 | ||
| 9 | ||
|
|
||
| main | ||
| 24 | ||
| 1 | ||
| 1 | ||
|
|
||
| _Z7lambdasv | ||
| 2895087587861649 | ||
| 4 | ||
| 1 | ||
| 1 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| _Z9range_forv | ||
| 6169071350249721981 | ||
| 5 | ||
| 1 | ||
| 4 | ||
|
|
@@ -8,6 +8,6 @@ _Z9range_forv | |
| 1 | ||
|
|
||
| main | ||
| 24 | ||
| 1 | ||
| 1 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,16 @@ | ||
| main | ||
| 24 | ||
| 1 | ||
| 1 | ||
|
|
||
| _Z4loopILj0EEvv | ||
| 18129 | ||
| 2 | ||
| 1 | ||
| 0 | ||
|
|
||
| _Z4loopILj100EEvv | ||
| 18129 | ||
| 2 | ||
| 1 | ||
| 100 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,10 @@ | ||
| foo | ||
| 24 | ||
| 1 | ||
| 1000 | ||
|
|
||
| main | ||
| 1160280 | ||
| 2 | ||
| 1 | ||
| 10000 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| main | ||
| 1160280 | ||
| 2 | ||
| 1 | ||
| 100 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,30 @@ | ||
| objc-general.m:__13+[A foreach:]_block_invoke | ||
| 42129 | ||
| 2 | ||
| 2 | ||
| 1 | ||
|
|
||
| objc-general.m:+[A foreach:] | ||
| 401 | ||
| 2 | ||
| 1 | ||
| 2 | ||
|
|
||
| main | ||
| 24 | ||
| 1 | ||
| 1 | ||
|
|
||
| consecutive_objc_for_ranges | ||
| 1642897 | ||
| 3 | ||
| 0 | ||
| 0 | ||
| 0 | ||
|
|
||
| nested_objc_for_ranges | ||
| 1598545 | ||
| 3 | ||
| 0 | ||
| 0 | ||
| 0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,177 @@ | ||
| // REQUIRES: shell | ||
|
|
||
| // Check that all of the hashes in this file are unique (i.e, that none of the | ||
| // profiles for these functions are mutually interchangeable). | ||
| // | ||
| // RUN: llvm-profdata show -all-functions %S/Inputs/cxx-hash-v2.profdata.v5 | grep "Hash: 0x" | sort > %t.hashes | ||
| // RUN: uniq %t.hashes > %t.hashes.unique | ||
| // RUN: diff %t.hashes %t.hashes.unique | ||
|
|
||
| // RUN: llvm-profdata merge %S/Inputs/cxx-hash-v2.proftext -o %t.profdata | ||
| // RUN: %clang_cc1 -std=c++11 -fexceptions -fcxx-exceptions -triple x86_64-apple-macosx10.9 -main-file-name cxx-hash-v2.mm %s -o /dev/null -emit-llvm -fprofile-instrument-use-path=%t.profdata 2>&1 | FileCheck %s -allow-empty | ||
| // RUN: %clang_cc1 -std=c++11 -fexceptions -fcxx-exceptions -triple x86_64-apple-macosx10.9 -main-file-name cxx-hash-v2.mm %s -o /dev/null -emit-llvm -fprofile-instrument-use-path=%S/Inputs/cxx-hash-v2.profdata.v5 2>&1 | FileCheck %s -allow-empty | ||
|
|
||
| // CHECK-NOT: warning: profile data may be out of date | ||
|
|
||
| int x; | ||
| int arr[1] = {0}; | ||
|
|
||
| void loop_after_if_else() { | ||
| if (1) | ||
| x = 1; | ||
| else | ||
| x = 2; | ||
| while (0) | ||
| ++x; | ||
| } | ||
|
|
||
| void loop_in_then_block() { | ||
| if (1) { | ||
| while (0) | ||
| ++x; | ||
| } else { | ||
| x = 2; | ||
| } | ||
| } | ||
|
|
||
| void loop_in_else_block() { | ||
| if (1) { | ||
| x = 1; | ||
| } else { | ||
| while (0) | ||
| ++x; | ||
| } | ||
| } | ||
|
|
||
| void if_inside_of_for() { | ||
| for (x = 0; x < 0; ++x) { | ||
| x = 1; | ||
| if (1) | ||
| x = 2; | ||
| } | ||
| } | ||
|
|
||
| void if_outside_of_for() { | ||
| for (x = 0; x < 0; ++x) | ||
| x = 1; | ||
| if (1) | ||
| x = 2; | ||
| } | ||
|
|
||
| void if_inside_of_while() { | ||
| while (0) { | ||
| x = 1; | ||
| if (1) | ||
| x = 2; | ||
| } | ||
| } | ||
|
|
||
| void if_outside_of_while() { | ||
| while (0) | ||
| x = 1; | ||
| if (1) | ||
| x = 2; | ||
| } | ||
|
|
||
| void nested_dos() { | ||
| do { | ||
| do { | ||
| ++x; | ||
| } while (0); | ||
| } while (0); | ||
| } | ||
|
|
||
| void consecutive_dos() { | ||
| do { | ||
| } while (0); | ||
| do { | ||
| ++x; | ||
| } while (0); | ||
| } | ||
|
|
||
| void loop_empty() { | ||
| for (x = 0; x < 5; ++x) {} | ||
| } | ||
|
|
||
| void loop_return() { | ||
| for (x = 0; x < 5; ++x) | ||
| return; | ||
| } | ||
|
|
||
| void loop_continue() { | ||
| for (x = 0; x < 5; ++x) | ||
| continue; | ||
| } | ||
|
|
||
| void loop_break() { | ||
| for (x = 0; x < 5; ++x) | ||
| break; | ||
| } | ||
|
|
||
| void no_gotos() { | ||
| static void *dispatch[] = {&&done}; | ||
| x = 0; | ||
| done: | ||
| ++x; | ||
| } | ||
|
|
||
| void direct_goto() { | ||
| static void *dispatch[] = {&&done}; | ||
| x = 0; | ||
| goto done; | ||
| done: | ||
| ++x; | ||
| } | ||
|
|
||
| void indirect_goto() { | ||
| static void *dispatch[] = {&&done}; | ||
| x = 0; | ||
| goto *dispatch[x]; | ||
| done: | ||
| ++x; | ||
| } | ||
|
|
||
| void nested_for_ranges() { | ||
| for (int a : arr) | ||
| for (int b : arr) | ||
| ++x; | ||
| } | ||
|
|
||
| void consecutive_for_ranges() { | ||
| for (int a : arr) {} | ||
| for (int b : arr) | ||
| ++x; | ||
| } | ||
|
|
||
| void nested_try_catch() { | ||
| try { | ||
| try { | ||
| ++x; | ||
| } catch (...) {} | ||
| } catch (...) {} | ||
| } | ||
|
|
||
| void consecutive_try_catch() { | ||
| try {} catch (...) {} | ||
| try { | ||
| ++x; | ||
| } catch (...) {} | ||
| } | ||
|
|
||
| void no_throw() {} | ||
|
|
||
| void has_throw() { | ||
| throw 0; | ||
| } | ||
|
|
||
| void single_lnot() { | ||
| if (!x) {} | ||
| } | ||
|
|
||
| void double_lnot() { | ||
| if (!!x) {} | ||
| } | ||
|
|
||
| int main() { | ||
| return 0; | ||
| } |