xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/tail-threshold.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1; RUN: llc -mtriple=x86_64-pc-linux-gnu -tail-merge-threshold 2 < %s | FileCheck %s
2
3; Test that we still do some merging if a block has more than
4; tail-merge-threshold predecessors.
5
6; CHECK: 	callq	bar
7; CHECK:	callq	bar
8; CHECK:	callq	bar
9; CHECK-NOT:    callq
10
11declare void @bar()
12
13define void @foo(i32 %xxx) {
14entry:
15  switch i32 %xxx, label %bb4 [
16    i32 0, label %bb0
17    i32 1, label %bb1
18    i32 2, label %bb2
19    i32 3, label %bb3
20  ]
21
22bb0:
23  call void @bar()
24  br label %bb5
25
26bb1:
27 call void @bar()
28 br label %bb5
29
30bb2:
31  call void @bar()
32  br label %bb5
33
34bb3:
35  call void @bar()
36  br label %bb5
37
38bb4:
39  call void @bar()
40  br label %bb5
41
42bb5:
43  ret void
44}
45