Home | History | Annotate | Download | only in LoopUnswitch
      1 ; RUN: opt < %s -loop-unswitch -disable-output
      2 ; PR1559
      3 
      4 target triple = "i686-pc-linux-gnu"
      5 	%struct.re_pattern_buffer = type { i8*, i32, i32, i32, i8*, i8*, i32, i8 }
      6 
      7 define fastcc i32 @byte_regex_compile(i8* %pattern, i32 %size, i32 %syntax, %struct.re_pattern_buffer* %bufp) {
      8 entry:
      9         br i1 false, label %bb147, label %cond_next123
     10 
     11 cond_next123:           ; preds = %entry
     12         ret i32 0
     13 
     14 bb147:          ; preds = %entry
     15         switch i32 0, label %normal_char [
     16                  i32 91, label %bb1734
     17                  i32 92, label %bb5700
     18         ]
     19 
     20 bb1734:         ; preds = %bb147
     21         br label %bb1855.outer.outer
     22 
     23 cond_true1831:          ; preds = %bb1855.outer
     24         br i1 %tmp1837, label %cond_next1844, label %cond_true1840
     25 
     26 cond_true1840:          ; preds = %cond_true1831
     27         ret i32 0
     28 
     29 cond_next1844:          ; preds = %cond_true1831
     30         br i1 false, label %bb1855.outer, label %cond_true1849
     31 
     32 cond_true1849:          ; preds = %cond_next1844
     33         br label %bb1855.outer.outer
     34 
     35 bb1855.outer.outer:             ; preds = %cond_true1849, %bb1734
     36         %b.10.ph.ph = phi i8* [ null, %cond_true1849 ], [ null, %bb1734 ]               ; <i8*> [#uses=1]
     37         br label %bb1855.outer
     38 
     39 bb1855.outer:           ; preds = %bb1855.outer.outer, %cond_next1844
     40         %b.10.ph = phi i8* [ null, %cond_next1844 ], [ %b.10.ph.ph, %bb1855.outer.outer ]               ; <i8*> [#uses=1]
     41         %tmp1837 = icmp eq i8* null, null               ; <i1> [#uses=2]
     42         br i1 false, label %cond_true1831, label %cond_next1915
     43 
     44 cond_next1915:          ; preds = %cond_next1961, %bb1855.outer
     45         store i8* null, i8** null
     46         br i1 %tmp1837, label %cond_next1929, label %cond_true1923
     47 
     48 cond_true1923:          ; preds = %cond_next1915
     49         ret i32 0
     50 
     51 cond_next1929:          ; preds = %cond_next1915
     52         br i1 false, label %cond_next1961, label %cond_next2009
     53 
     54 cond_next1961:          ; preds = %cond_next1929
     55         %tmp1992 = getelementptr i8, i8* %b.10.ph, i32 0            ; <i8*> [#uses=0]
     56         br label %cond_next1915
     57 
     58 cond_next2009:          ; preds = %cond_next1929
     59         ret i32 0
     60 
     61 bb5700:         ; preds = %bb147
     62         ret i32 0
     63 
     64 normal_char:            ; preds = %bb147
     65         ret i32 0
     66 }
     67