Home | History | Annotate | Download | only in LoopUnswitch
      1 ; RUN: opt < %s -loop-unswitch -instcombine -disable-output
      2 
      3 @str3 = external constant [3 x i8]		; <[3 x i8]*> [#uses=1]
      4 
      5 define i32 @stringSearch_Clib(i32 %count) {
      6 entry:
      7 	%ttmp25 = icmp sgt i32 %count, 0		; <i1> [#uses=1]
      8 	br i1 %ttmp25, label %bb36.preheader, label %bb44
      9 
     10 bb36.preheader:		; preds = %entry
     11 	%ttmp33 = icmp slt i32 0, 250		; <i1> [#uses=1]
     12 	br label %bb36.outer
     13 
     14 bb36.outer:		; preds = %bb41, %bb36.preheader
     15 	br i1 %ttmp33, label %bb.nph, label %bb41
     16 
     17 bb.nph:		; preds = %bb36.outer
     18 	%ttmp8 = icmp eq i8* null, null		; <i1> [#uses=1]
     19 	%ttmp6 = icmp eq i8* null, null		; <i1> [#uses=1]
     20 	%tmp31 = call i32 @strcspn( i8* null, i8* getelementptr ([3 x i8]* @str3, i64 0, i64 0) )		; <i32> [#uses=1]
     21 	br i1 %ttmp8, label %cond_next, label %cond_true
     22 
     23 cond_true:		; preds = %bb.nph
     24 	ret i32 0
     25 
     26 cond_next:		; preds = %bb.nph
     27 	br i1 %ttmp6, label %cond_next28, label %cond_true20
     28 
     29 cond_true20:		; preds = %cond_next
     30 	ret i32 0
     31 
     32 cond_next28:		; preds = %cond_next
     33 	%tmp33 = add i32 %tmp31, 0		; <i32> [#uses=1]
     34 	br label %bb41
     35 
     36 bb41:		; preds = %cond_next28, %bb36.outer
     37 	%c.2.lcssa = phi i32 [ 0, %bb36.outer ], [ %tmp33, %cond_next28 ]		; <i32> [#uses=1]
     38 	br i1 false, label %bb36.outer, label %bb44
     39 
     40 bb44:		; preds = %bb41, %entry
     41 	%c.01.1 = phi i32 [ 0, %entry ], [ %c.2.lcssa, %bb41 ]		; <i32> [#uses=1]
     42 	ret i32 %c.01.1
     43 }
     44 
     45 declare i32 @strcspn(i8*, i8*)
     46