xref: /llvm-project/llvm/test/Transforms/SampleProfile/pseudo-probe-instsched.ll (revision d9b511d8e8c43f79e0e277be287656693dd6563f)
1; REQUIRES: x86_64-linux
2; RUN: llc < %s -mcpu=generic -mtriple=x86_64-- -O3 | FileCheck %s
3
4define float @foo(float %x) #0 {
5  %tmp1 = fmul float %x, 3.000000e+00
6  %tmp3 = fmul float %x, 5.000000e+00
7  %tmp5 = fmul float %x, 7.000000e+00
8  %tmp7 = fmul float %x, 1.100000e+01
9  call void @llvm.pseudoprobe(i64 6699318081062747564, i64 1, i32 0, i64 -1)
10  %tmp10 = fadd float %tmp1, %tmp3
11  %tmp12 = fadd float %tmp10, %tmp5
12  %tmp14 = fadd float %tmp12, %tmp7
13  ret float %tmp14
14; CHECK: mulss
15; CHECK: mulss
16; CHECK: addss
17; CHECK: mulss
18; CHECK: addss
19; CHECK: mulss
20; CHECK: addss
21; CHECK: ret
22}
23
24; Function Attrs: inaccessiblememonly nounwind willreturn
25declare void @llvm.pseudoprobe(i64, i64, i32, i64) #1
26
27attributes #0 = { nounwind }
28attributes #1 = { inaccessiblememonly nounwind willreturn }
29
30!llvm.pseudo_probe_desc = !{!0}
31
32!0 = !{i64 6699318081062747564, i64 4294967295, !"foo", null}
33
34