Home | History | Annotate | Download | only in X86
      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