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 11 declare void @bar() 12 13 define void @foo(i32 %xxx) { 14 entry: 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 22 bb0: 23 call void @bar() 24 br label %bb5 25 26 bb1: 27 call void @bar() 28 br label %bb5 29 30 bb2: 31 call void @bar() 32 br label %bb5 33 34 bb3: 35 call void @bar() 36 br label %bb5 37 38 bb4: 39 call void @bar() 40 br label %bb5 41 42 bb5: 43 ret void 44 } 45