[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Analysis / PostDominators / pr6047_c.ll
blob0eef023b418cac98f8914d9456be83ff4fb7a246
1 ; RUN: opt < %s -postdomtree -analyze | FileCheck %s
2 define internal void @f() {
3 entry:
4   br i1 undef, label %bb35, label %bb3.i
6 bb3.i:
7   br label %bb3.i
9 bb:
10   br label %bb35
12 bb.i:
13   br label %bb35
15 _float32_unpack.exit:
16   br label %bb35
18 bb.i5:
19   br label %bb35
21 _float32_unpack.exit8:
22   br label %bb35
24 bb32.preheader:
25   br label %bb35
27 bb3:
28   br label %bb35
30 bb3.split.us:
31   br label %bb35
33 bb.i4.us:
34   br label %bb35
36 bb7.i.us:
37   br label %bb35
39 bb.i4.us.backedge:
40   br label %bb35
42 bb1.i.us:
43   br label %bb35
45 bb6.i.us:
46   br label %bb35
48 bb4.i.us:
49   br label %bb35
51 bb8.i.us:
52   br label %bb35
54 bb3.i.loopexit.us:
55   br label %bb35
57 bb.nph21:
58   br label %bb35
60 bb4:
61   br label %bb35
63 bb5:
64   br label %bb35
66 bb14.preheader:
67   br label %bb35
69 bb.nph18:
70   br label %bb35
72 bb8.us.preheader:
73   br label %bb35
75 bb8.preheader:
76   br label %bb35
78 bb8.us:
79   br label %bb35
81 bb8:
82   br label %bb35
84 bb15.loopexit:
85   br label %bb35
87 bb15.loopexit2:
88   br label %bb35
90 bb15:
91   br label %bb35
93 bb16:
94   br label %bb35
96 bb17.loopexit.split:
97   br label %bb35
99 bb.nph14:
100   br label %bb35
102 bb19:
103   br label %bb35
105 bb20:
106   br label %bb35
108 bb29.preheader:
109   br label %bb35
111 bb.nph:
112   br label %bb35
114 bb23.us.preheader:
115   br label %bb35
117 bb23.preheader:
118   br label %bb35
120 bb23.us:
121   br label %bb35
123 bb23:
124   br label %bb35
126 bb30.loopexit:
127   br label %bb35
129 bb30.loopexit1:
130   br label %bb35
132 bb30:
133   br label %bb35
135 bb31:
136   br label %bb35
138 bb35.loopexit:
139   br label %bb35
141 bb35.loopexit3:
142   br label %bb35
144 bb35:
145   ret void
147 ; CHECK: Inorder PostDominator Tree:
148 ; CHECK-NEXT:   [1]  <<exit node>>
149 ; CHECK-NEXT:     [2] %bb35
150 ; CHECK-NEXT:       [3] %bb
151 ; CHECK-NEXT:       [3] %bb.i
152 ; CHECK-NEXT:       [3] %_float32_unpack.exit
153 ; CHECK-NEXT:       [3] %bb.i5
154 ; CHECK-NEXT:       [3] %_float32_unpack.exit8
155 ; CHECK-NEXT:       [3] %bb32.preheader
156 ; CHECK-NEXT:       [3] %bb3
157 ; CHECK-NEXT:       [3] %bb3.split.us
158 ; CHECK-NEXT:       [3] %bb.i4.us
159 ; CHECK-NEXT:       [3] %bb7.i.us
160 ; CHECK-NEXT:       [3] %bb.i4.us.backedge
161 ; CHECK-NEXT:       [3] %bb1.i.us
162 ; CHECK-NEXT:       [3] %bb6.i.us
163 ; CHECK-NEXT:       [3] %bb4.i.us
164 ; CHECK-NEXT:       [3] %bb8.i.us
165 ; CHECK-NEXT:       [3] %bb3.i.loopexit.us
166 ; CHECK-NEXT:       [3] %bb.nph21
167 ; CHECK-NEXT:       [3] %bb4
168 ; CHECK-NEXT:       [3] %bb5
169 ; CHECK-NEXT:       [3] %bb14.preheader
170 ; CHECK-NEXT:       [3] %bb.nph18
171 ; CHECK-NEXT:       [3] %bb8.us.preheader
172 ; CHECK-NEXT:       [3] %bb8.preheader
173 ; CHECK-NEXT:       [3] %bb8.us
174 ; CHECK-NEXT:       [3] %bb8
175 ; CHECK-NEXT:       [3] %bb15.loopexit
176 ; CHECK-NEXT:       [3] %bb15.loopexit2
177 ; CHECK-NEXT:       [3] %bb15
178 ; CHECK-NEXT:       [3] %bb16
179 ; CHECK-NEXT:       [3] %bb17.loopexit.split
180 ; CHECK-NEXT:       [3] %bb.nph14
181 ; CHECK-NEXT:       [3] %bb19
182 ; CHECK-NEXT:       [3] %bb20
183 ; CHECK-NEXT:       [3] %bb29.preheader
184 ; CHECK-NEXT:       [3] %bb.nph
185 ; CHECK-NEXT:       [3] %bb23.us.preheader
186 ; CHECK-NEXT:       [3] %bb23.preheader
187 ; CHECK-NEXT:       [3] %bb23.us
188 ; CHECK-NEXT:       [3] %bb23
189 ; CHECK-NEXT:       [3] %bb30.loopexit
190 ; CHECK-NEXT:       [3] %bb30.loopexit1
191 ; CHECK-NEXT:       [3] %bb30
192 ; CHECK-NEXT:       [3] %bb31
193 ; CHECK-NEXT:       [3] %bb35.loopexit
194 ; CHECK-NEXT:       [3] %bb35.loopexit3
195 ; CHECK-NEXT:     [2] %entry
196 ; CHECK-NEXT:     [2] %bb3.i
197 ; CHECK-NEXT: Roots: %bb35 %bb3.i