brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · d0ea5e9 Raw
84 lines · plain
1; RUN: rm -rf %t && split-file %s %t2 3; RUN: llvm-profdata merge %t/a.proftext -o %t/a.profdata4; RUN: opt %t/a.ll -passes=pgo-instr-use -pgo-test-profile-file=%t/a.profdata -S -o %t/a2.ll5 6; RUN: llc < %t/a2.ll -enable-machine-outliner=conservative-pgo -mtriple=aarch64-linux-gnu -profile-summary-cold-count=0 | FileCheck %s --check-prefixes=CHECK,CONSERVATIVE7; RUN: llc < %t/a2.ll -enable-machine-outliner=optimistic-pgo -mtriple=aarch64-linux-gnu -profile-summary-cold-count=0 | FileCheck %s --check-prefixes=CHECK,OPTIMISTIC8 9;--- a.ll10declare void @z(i32, i32, i32, i32)11 12; CHECK-LABEL: always_outline:13define void @always_outline() cold {14entry:15; CHECK: [[OUTLINED:OUTLINED_FUNCTION_[0-9]+]]16  tail call void @z(i32 1, i32 2, i32 3, i32 4)17  ret void18; CHECK: .cfi_endproc19}20 21; CHECK-LABEL: cold:22define void @cold() {23entry:24; CHECK: [[OUTLINED]]25  tail call void @z(i32 1, i32 2, i32 3, i32 4)26  ret void27; CHECK: .cfi_endproc28}29 30; CHECK-LABEL: hot:31define void @hot() minsize {32entry:33; CHECK-NOT: [[OUTLINED]]34  tail call void @z(i32 1, i32 2, i32 3, i32 4)35  ret void36; CHECK: .cfi_endproc37}38 39; CHECK-LABEL: no_profile_minsize:40define void @no_profile_minsize() minsize {41entry:42; CONSERVATIVE-NOT: [[OUTLINED]]43; OPTIMISTIC: [[OUTLINED]]44  tail call void @z(i32 1, i32 2, i32 3, i32 4)45  ret void46; CHECK: .cfi_endproc47}48 49; CHECK-LABEL: no_profile_optsize:50define void @no_profile_optsize() optsize {51entry:52; CHECK-NOT: [[OUTLINED]]53  tail call void @z(i32 1, i32 2, i32 3, i32 4)54  ret void55; CHECK: .cfi_endproc56}57 58; CHECK: [[OUTLINED]]:59; CHECK-SAME: // @{{.*}} Tail Call60; CHECK:      mov     w0, #161; CHECK-NEXT: mov     w1, #262; CHECK-NEXT: mov     w2, #363; CHECK-NEXT: mov     w3, #464; CHECK-NEXT: b       z65 66;--- a.proftext67:ir68 69cold70# Func Hash:7174226141896690892772# Num Counters:73174# Counter Values:75076 77hot78# Func Hash:7974226141896690892780# Num Counters:81182# Counter Values:8310084