blob: f2296a0bd69f4a15ff34d341f70546f700ff2dfe [file] [log] [blame]
Rafael Espindolaa6ad8232011-06-14 23:47:36 +00001; RUN: llc -mtriple=x86_64-pc-linux-gnu -tail-merge-threshold 2 < %s | FileCheck %s
Rafael Espindolaf924dea2011-06-14 15:31:54 +00002
3; Test that we still do some merging if a block has more than
4; tail-merge-threshold predecessors.
5
Rafael Espindola1c619902011-06-14 22:24:32 +00006; CHECK: callq bar
7; CHECK: callq bar
8; CHECK: callq bar
9; CHECK-NOT: callq
Rafael Espindolaf924dea2011-06-14 15:31:54 +000010
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}