[flang][cuda] Do not register global constants (#118582)
[llvm-project.git] / llvm / test / tools / llc / new-pm / machine-branch-prob.ll
blob8854c85b3a3a40395513581309c18f1b28ee5353
1 ; RUN: llc -mtriple=x86_64-linux-gnu %s -stop-after=finalize-isel -o - | \
2 ; RUN: llc -mtriple=x86_64-linux-gnu -passes='print<machine-branch-prob>' -x mir -filetype=null 2>&1 | \
3 ; RUN: FileCheck %s
5 declare void @foo()
7 define i32 @test2(i32 %x) nounwind uwtable readnone ssp {
8 entry:
9   %conv = sext i32 %x to i64
10   switch i64 %conv, label %return [
11     i64 0, label %sw.bb
12     i64 1, label %sw.bb
13     i64 4, label %sw.bb
14     i64 5, label %sw.bb1
15     i64 15, label %sw.bb
16   ], !prof !0
18 sw.bb:
19 ; this call will prevent simplifyCFG from optimizing the block away in ARM/AArch64.
20   tail call void @foo()
21   br label %return
23 sw.bb1:
24   br label %return
26 return:
27   %retval.0 = phi i32 [ 5, %sw.bb1 ], [ 1, %sw.bb ], [ 0, %entry ]
28   ret i32 %retval.0
31 !0 = !{!"branch_weights", i32 7, i32 6, i32 4, i32 4, i32 64, i21 1000}
33 ; CHECK: Printing analysis 'Machine Branch Probability Analysis' for machine function 'test2':
34 ; CHECK: edge %bb.4 -> %bb.6 probability is 0x80000000 / 0x80000000 = 100.00% [HOT edge]
35 ; CHECK: edge %bb.5 -> %bb.6 probability is 0x80000000 / 0x80000000 = 100.00% [HOT edge]