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