Home | History | Annotate | Download | only in Inline
      1 ; RUN: opt < %s -inline -inline-threshold=35  -S | FileCheck %s
      2 
      3 define i32 @bar(<4 x i32> %v, i32 %i) #0 {
      4 entry:
      5   %cmp = icmp sgt i32 %i, 4
      6   br i1 %cmp, label %if.then, label %if.else
      7 
      8 if.then:                                          ; preds = %entry
      9   %mul1 = mul nsw i32 %i, %i
     10   br label %return
     11 
     12 if.else:                                          ; preds = %entry
     13   %add1 = add nsw i32 %i, %i
     14   %add2 = add nsw i32 %i, %i
     15   %add3 = add nsw i32 %i, %i
     16   %add4 = add nsw i32 %i, %i
     17   %add5 = add nsw i32 %i, %i
     18   %add6 = add nsw i32 %i, %i
     19   %vecext = extractelement <4 x i32> %v, i32 0
     20   %vecext7 = extractelement <4 x i32> %v, i32 1
     21   %add7 = add nsw i32 %vecext, %vecext7
     22   br label %return
     23 
     24 return:                                           ; preds = %if.else, %if.then
     25   %retval.0 = phi i32 [ %mul1, %if.then ], [ %add7, %if.else ]
     26   ret i32 %retval.0
     27 }
     28 
     29 define i32 @foo(<4 x i32> %v, i32 %a) #1 {
     30 ; CHECK-LABEL: @foo(
     31 ; CHECK-NOT: call i32 @bar
     32 ; CHECK: ret
     33 entry:
     34   %call = call i32 @bar(<4 x i32> %v, i32 %a)
     35   ret i32 %call
     36 }
     37 
     38