llvm-for-llvmta/test/Transforms/SampleProfile/pseudo-probe-instsched.ll

34 lines
929 B
LLVM
Raw Normal View History

2022-04-25 10:02:23 +02:00
; REQUIRES: x86_64-linux
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-- -pseudo-probe-for-profiling -O3 | FileCheck %s
define float @foo(float %x) #0 {
%tmp1 = fmul float %x, 3.000000e+00
%tmp3 = fmul float %x, 5.000000e+00
%tmp5 = fmul float %x, 7.000000e+00
%tmp7 = fmul float %x, 1.100000e+01
call void @llvm.pseudoprobe(i64 6699318081062747564, i64 1, i32 0, i64 -1)
%tmp10 = fadd float %tmp1, %tmp3
%tmp12 = fadd float %tmp10, %tmp5
%tmp14 = fadd float %tmp12, %tmp7
ret float %tmp14
; CHECK: mulss
; CHECK: mulss
; CHECK: addss
; CHECK: mulss
; CHECK: addss
; CHECK: mulss
; CHECK: addss
; CHECK: ret
}
; Function Attrs: inaccessiblememonly nounwind willreturn
declare void @llvm.pseudoprobe(i64, i64, i32, i64) #1
attributes #0 = { nounwind }
attributes #1 = { inaccessiblememonly nounwind willreturn }
!llvm.pseudo_probe_desc = !{!0}
!0 = !{i64 6699318081062747564, i64 4294967295, !"foo", null}