| /llvm-project-15.0.7/llvm/test/Analysis/BranchProbabilityInfo/ |
| H A D | unreachable.ll | 3 declare void @bar() cold 28 cold: 56 cold: 66 ; 'cold' block. Ensure that path leading to 'cold' block is preferred. 90 cold: 114 br label %to.cold 117 br label %to.cold 119 to.cold: 120 br label %cold 125 cold: [all …]
|
| H A D | deopt-invoke.ll | 7 declare void @cold() cold 44 ;CHECK: edge invoke -> invoke.cont.cold probability is 0x7fff8000 / 0x80000000 = 100.00% [HOT edge] 52 to label %invoke.cont.cold unwind label %land.pad 53 invoke.cont.cold: 54 call void @cold() 74 ;CHECK: edge invoke -> invoke.cont.cold probability is 0x7fff8000 / 0x80000000 = 100.00% [HOT edge] 81 to label %invoke.cont.cold unwind label %land.pad 82 invoke.cont.cold: 83 call void @cold() 93 call void @cold()
|
| /llvm-project-15.0.7/llvm/test/Transforms/HotColdSplit/ |
| H A D | section-splitting-custom.ll | 1 …coldsplit-threshold=-1 -pass-remarks=hotcoldsplit -enable-cold-section=true -hotcoldsplit-cold-sec… 2 …coldsplit-threshold=-1 -pass-remarks=hotcoldsplit -enable-cold-section=true -hotcoldsplit-cold-sec… 4 ; This test case is copied over from split-cold-2.ll, modified 5 ; to test the `-enable-cold-section` and `-hotcoldsplit-cold-section-name` 10 ; CHECK: remark: <unknown>:0:0: fun split cold code into fun.cold.1 13 ; CHECK-NEXT: call void @fun.cold.1 15 ; CHECK: define {{.*}}@fun.cold.1{{.*}} [[cold_attr:#[0-9]+]] section "__cold_custom"
|
| H A D | swifterror.ll | 8 declare void @sink() cold 11 ; CHECK: call void @in_arg.cold.1(%swift_error** swifterror 13 br i1 undef, label %cold, label %exit 15 cold: 25 ; CHECK: call void @in_alloca.cold.1(%swift_error** swifterror 28 br i1 undef, label %cold, label %exit 30 cold: 39 ; CHECK-LABEL: define {{.*}}@in_arg.cold.1({{.*}} swifterror 42 ; CHECK-LABEL: define {{.*}}@in_alloca.cold.1({{.*}} swifterror
|
| H A D | stale-assume-in-original-func.ll | 5 ; CHECK: call void @foo.cold.1() 9 ; CHECK-LABEL: define {{.*}} @foo.cold.1( 11 ; CHECK: call void @cold() 17 br i1 %cond, label %cold, label %cont 19 cold: 21 call void @cold() 38 declare void @cold() cold
|
| H A D | retain-section.ll | 6 ; Retain section after cold code is split off. 9 ; CHECK: call void @fun.cold.1{{.*}} 10 define void @fun() section ".text.cold" { 22 define void @foo() cold { 26 declare void @sink() cold 28 ; CHECK: define {{.*}} @fun.cold.1{{.*}} section ".text.cold"
|
| H A D | section-splitting-default.ll | 1 ; RUN: opt -hotcoldsplit -hotcoldsplit-threshold=-1 -pass-remarks=hotcoldsplit -enable-cold-section… 2 ; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=-1 -pass-remarks=hotcoldsplit -enable-cold-… 4 ; This test case is copied over from split-cold-2.ll, modified 5 ; to test the `-enable-cold-section` parameter in opt. 9 ; CHECK: remark: <unknown>:0:0: fun split cold code into fun.cold.1 12 ; CHECK-NEXT: call void @fun.cold.1 14 ; CHECK: define {{.*}}@fun.cold.1{{.*}} [[cold_attr:#[0-9]+]] section "__llvm_cold"
|
| H A D | noreturn.ll | 9 ; Don't outline noreturn calls which aren't explicitly marked cold. 12 ; CHECK-NOT: foo.cold.1 29 ; CHECK-NOT: xpc_objc_main.cold.1 44 ; Do outline noreturn calls marked cold. 47 ; CHECK: call {{.*}}@bar.cold.1( 62 ; Do outline noreturn calls preceded by a cold call. 65 ; CHECK: call {{.*}}@baz.cold.1( 80 ; CHECK-LABEL: define {{.*}}@bar.cold.1( 85 declare void @sink() cold 87 declare void @llvm.trap() noreturn cold
|
| H A D | eh-pads.ll | 65 ; The predecessor of a cold invoke may still be extracted (see baz.cold.2). 73 ; The successor of a cold invoke may still be extracted (see baz.cold.1). 82 ; CHECK-LABEL: define {{.*}}@foo.cold.1( 86 ; CHECK-LABEL: define {{.*}}@bar.cold.1( 89 ; CHECK-LABEL: define {{.*}}@baz.cold.1( 92 ; CHECK-LABEL: define {{.*}}@baz.cold.2( 97 declare void @sink() cold
|
| H A D | region-overlap.ll | 5 ; __attribute__((cold)) extern void sink(int); 9 ; if (cond2) { // This is the first cold region we visit. 14 ; // There's a larger, overlapping cold region here. But we ignore it. 25 ; CHECK: call {{.*}}@_Z3fooii.cold.1 26 ; CHECK-NOT: _Z3fooii.cold 55 ; CHECK-LABEL: define {{.*}}@_Z3fooii.cold.1 60 declare void @_Z4sinki(i32) cold
|
| H A D | outline-multiple-entry-region.ll | 5 ; extern __attribute__((cold)) void sink(); 10 ; sideeffect(0); // This is cold (it reaches sink()). 14 ; sideeffect(1); // This is cold (it reaches sink()). 27 ; CHECK-LABEL: define {{.*}}@_Z3fooii.cold.1 30 ; CHECK-LABEL: define {{.*}}@_Z3fooii.cold.2 33 ; CHECK-LABEL: define {{.*}}@_Z3fooii.cold.3 77 declare void @_Z4sinkv() cold
|
| H A D | minsize.ll | 7 ; CHECK: call void @fun.cold.1 21 define void @foo() cold { 25 declare void @sink() cold 27 ; CHECK: define {{.*}} @fun.cold.1{{.*}}#[[outlined_func_attr]] 30 ; CHECK-SAME: cold
|
| H A D | transfer-debug-info.ll | 6 ; The block "if.end" in @foo is extracted into a new function, @foo.cold.1. 9 ; CHECK-LABEL: define {{.*}}@foo.cold.1 25 ; - llvm.dbg.value intrinsics for values local to @foo.cold.1 are preserved 31 ; - The DISubprogram for @foo.cold.1 has an empty DISubroutineType 35 ; CHECK: [[NEWSCOPE:![0-9]+]] = distinct !DISubprogram(name: "foo.cold.1", linkageName: "foo.cold.1… 37 ; - Line locations in @foo.cold.1 point to the new scope for @foo.cold.1 60 declare void @sink(i32) cold
|
| /llvm-project-15.0.7/bolt/test/X86/ |
| H A D | split-func-icf.s | 1 # This reproduces an issue where two cold fragments are folded into one, so the 14 # CHECK-DAG: BOLT-INFO: marking main2.cold.1(*2) as a fragment of main 20 # CHECK-DAG: BOLT-WARNING: Ignoring main2.cold.1(*2) 21 # CHECK: BOLT-WARNING: skipped 3 functions due to cold fragments 73 # cold fragment is only reachable through jump table 74 .globl main2.cold.1 75 .type main2.cold.1, %function 76 main2.cold.1: 77 .globl main.cold.1 78 .type main.cold.1, %function [all …]
|
| H A D | shared_object_entry.s | 2 # RUN: ld.lld %t.o -o %t.so --shared --entry=func1.cold.1 --emit-relocs 4 # RUN: -split-functions -reorder-blocks=ext-tsp -split-all-cold \ 7 # Check that an entry point is a cold symbol 12 # CHECK: [[#%x,ENTRY]] {{.*}} func1.cold.1 14 .globl func1.cold.1 15 .type func1.cold.1,@function 16 func1.cold.1: 26 .size func1.cold.1, .-func1.cold.1
|
| H A D | jump-table-move.s | 8 # CHECK: BOLT-INFO: marking main.cold.1 as a fragment of main 9 # CHECK: BOLT-WARNING: Ignoring main.cold.1 18 jne main.cold.1 23 .globl main.cold.1 24 .type main.cold.1, %function 26 main.cold.1: 28 .size main.cold.1, .-main.cold.1
|
| H A D | split-func-jump-table-fragment-reverse.s | 2 # entries pointing to code in function and its cold fragment. 13 # CHECK: BOLT-INFO: marking main.cold as a fragment of main 18 callq main.cold 22 .globl main.cold 23 .type main.cold, %function 25 main.cold: 45 .size main.cold, .-main.cold 47 # main function, referenced from jump table in cold fragment
|
| H A D | split-func-jump-table-fragment.s | 2 # entries pointing to code in function and its cold fragment. 12 # CHECK: BOLT-INFO: marking main.cold.1 as a fragment of main 21 # exit through abort in main.cold.1, registers cold fragment the regular way 22 ja main.cold.1 39 .globl main.cold.1 40 .type main.cold.1, %function 42 main.cold.1:
|
| H A D | split-func-jump-table-fragment-noparent.s | 2 # entries pointing to code in function and its cold fragment. 13 # CHECK: BOLT-INFO: marking main.cold.1 as a fragment of main 40 # cold fragment is only reachable through jump table 41 .globl main.cold.1 42 .type main.cold.1, %function 44 main.cold.1:
|
| H A D | split-func-jump-table-fragment-bidirection.s | 13 # CHECK: BOLT-INFO: Multiple fragments access same jump table: main; main.cold.1 14 # CHECK: PIC Jump table JUMP_TABLE1 for function main, main.cold.1 at {{.*}} with a total count of… 42 # cold fragment is only reachable 43 .globl main.cold.1 44 .type main.cold.1, %function 46 main.cold.1:
|
| /llvm-project-15.0.7/llvm/test/Transforms/HotColdSplit/X86/ |
| H A D | do-not-split.ll | 9 ; The cold region is too small to split. 11 ; CHECK-NOT: foo.cold.1 25 ; CHECK-NOT: bar.cold.1 40 ; CHECK-NOT: fun.cold.1 54 ; entry block is cold. 56 ; CHECK-NOT: cold_entry_block.cold.1 65 ; CHECK-NOT: noinline_func.cold.1 95 ; CHECK-NOT: infinite_loop.cold.1 152 ; CHECK-NOT: sanitize_thread.cold.1 166 ; CHECK-NOT: sanitize_memory.cold.1 [all …]
|
| /llvm-project-15.0.7/llvm/test/tools/llvm-profdata/ |
| H A D | cs-sample-trimmer.test | 4 …put=%t.proftext %S/Inputs/cs-sample.proftext -sample-merge-cold-context -profile-summary-cold-coun… 6 …xt %S/Inputs/cs-sample.proftext -sample-merge-cold-context -sample-trim-cold-context -profile-summ… 8 …%S/Inputs/cs-sample.proftext -sample-merge-cold-context -sample-trim-cold-context -profile-summary…
|
| /llvm-project-15.0.7/lldb/test/Shell/Unwind/ |
| H A D | split-machine-functions.test | 2 # with lldb when a function is split into a hot and cold part and the cold part 3 # is executed. The cold part has the same function symbol name but with a 4 # ".cold" suffix and this test checks that the back trace is clear. 18 # Test a permutation where foo.cold is very far from foo. The default ordering does not 19 # ensure that there will be a gap between foo and foo.cold. Using a symbol ordering 38 # SPLIT: frame #1: {{.*}}`foo() (.cold) + 46 _Z3foov.cold
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | gcc_except_table_bb_sections_ehpad_groups_with_cold.ll | 1 ; Check that when all exception handling blocks are cold, they get grouped with the cold bbs. 22 ; CHECK-LABEL: main.cold: 59 ; CHECK-NEXT: .quad main.cold 68 ; CHECK-NEXT: .uleb128 .Ltmp2-main.cold # jumps to .Ltmp2 73 ; CHECK-NEXT: .quad main.cold 80 ; CHECK-NEXT: .uleb128 main.cold-main.cold # >> Call Site 2 << 81 ; CHECK-NEXT: .uleb128 .LBB_END0_2-main.cold # Call between main.cold and .LBB_END0_2
|
| /llvm-project-15.0.7/llvm/test/Transforms/Inline/ |
| H A D | inline-cold-callsite.ll | 2 ; RUN: opt < %s -passes='require<profile-summary>,cgscc(inline)' -inline-threshold=100 -inline-cold… 4 ; This tests that a cold callsite gets the inline-cold-callsite-threshold 6 ; is not cold gets inlined because cost is below the inline-threshold. 32 br i1 %call, label %cold, label %for.inc, !prof !0 34 cold:
|