OLD | NEW |
1 ; Simple test to show that we don't break distribution counts. | 1 ; Simple test to show that we don't break distribution counts. |
2 | 2 |
3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcanalyzer --order-blocks-by-id \ | 3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcanalyzer --order-blocks-by-id \ |
4 ; RUN: | FileCheck %s | 4 ; RUN: | FileCheck %s |
5 | 5 |
6 @bytes7 = internal global [7 x i8] c"abcdefg" | 6 @bytes7 = internal global [7 x i8] c"abcdefg" |
7 | 7 |
8 @ptr_to_ptr = internal global i32 ptrtoint (i32* @ptr to i32) | 8 @ptr_to_ptr = internal global i32 ptrtoint (i32* @ptr to i32) |
9 | 9 |
10 @ptr_to_func = internal global i32 ptrtoint (void ()* @func to i32) | 10 @ptr_to_func = internal global i32 ptrtoint (void ()* @func to i32) |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 ret void | 162 ret void |
163 } | 163 } |
164 | 164 |
165 define void @PhiBackwardRefs(i1) { | 165 define void @PhiBackwardRefs(i1) { |
166 %2 = alloca i8, i32 4, align 8 | 166 %2 = alloca i8, i32 4, align 8 |
167 %3 = alloca i8, i32 4, align 8 | 167 %3 = alloca i8, i32 4, align 8 |
168 br i1 %0, label %true, label %false | 168 br i1 %0, label %true, label %false |
169 | 169 |
170 true: ; preds = %1 | 170 true: ; preds = %1 |
171 %4 = bitcast i8* %2 to i32* | 171 %4 = bitcast i8* %2 to i32* |
172 %5 = load i32* %4 | 172 %5 = load i32, i32* %4 |
173 %6 = ptrtoint i8* %3 to i32 | 173 %6 = ptrtoint i8* %3 to i32 |
174 br label %merge | 174 br label %merge |
175 | 175 |
176 false: ; preds = %1 | 176 false: ; preds = %1 |
177 %7 = bitcast i8* %2 to i32* | 177 %7 = bitcast i8* %2 to i32* |
178 %8 = load i32* %7 | 178 %8 = load i32, i32* %7 |
179 %9 = ptrtoint i8* %3 to i32 | 179 %9 = ptrtoint i8* %3 to i32 |
180 br label %merge | 180 br label %merge |
181 | 181 |
182 merge: ; preds = %false, %true | 182 merge: ; preds = %false, %true |
183 %10 = phi i32 [ %6, %true ], [ %9, %false ] | 183 %10 = phi i32 [ %6, %true ], [ %9, %false ] |
184 %11 = phi i32 [ %5, %true ], [ %8, %false ] | 184 %11 = phi i32 [ %5, %true ], [ %8, %false ] |
185 ret void | 185 ret void |
186 } | 186 } |
187 | 187 |
188 define void @PhiForwardRefs(i1) { | 188 define void @PhiForwardRefs(i1) { |
189 br label %start | 189 br label %start |
190 | 190 |
191 merge: ; preds = %false, %true | 191 merge: ; preds = %false, %true |
192 %2 = phi i32 [ %11, %true ], [ %11, %false ] | 192 %2 = phi i32 [ %11, %true ], [ %11, %false ] |
193 %3 = phi i32 [ %5, %true ], [ %7, %false ] | 193 %3 = phi i32 [ %5, %true ], [ %7, %false ] |
194 ret void | 194 ret void |
195 | 195 |
196 true: ; preds = %start | 196 true: ; preds = %start |
197 %4 = inttoptr i32 %9 to i32* | 197 %4 = inttoptr i32 %9 to i32* |
198 %5 = load i32* %4 | 198 %5 = load i32, i32* %4 |
199 br label %merge | 199 br label %merge |
200 | 200 |
201 false: ; preds = %start | 201 false: ; preds = %start |
202 %6 = inttoptr i32 %9 to i32* | 202 %6 = inttoptr i32 %9 to i32* |
203 %7 = load i32* %6 | 203 %7 = load i32, i32* %6 |
204 br label %merge | 204 br label %merge |
205 | 205 |
206 start: ; preds = %1 | 206 start: ; preds = %1 |
207 %8 = alloca i8, i32 4, align 8 | 207 %8 = alloca i8, i32 4, align 8 |
208 %9 = ptrtoint i8* %8 to i32 | 208 %9 = ptrtoint i8* %8 to i32 |
209 %10 = alloca i8, i32 4, align 8 | 209 %10 = alloca i8, i32 4, align 8 |
210 %11 = ptrtoint i8* %10 to i32 | 210 %11 = ptrtoint i8* %10 to i32 |
211 br i1 %0, label %true, label %false | 211 br i1 %0, label %true, label %false |
212 } | 212 } |
213 | 213 |
214 define void @PhiMergeCast(i1) { | 214 define void @PhiMergeCast(i1) { |
215 %2 = alloca i8, i32 4, align 8 | 215 %2 = alloca i8, i32 4, align 8 |
216 %3 = alloca i8, i32 4, align 8 | 216 %3 = alloca i8, i32 4, align 8 |
217 br i1 %0, label %true, label %false | 217 br i1 %0, label %true, label %false |
218 | 218 |
219 true: ; preds = %1 | 219 true: ; preds = %1 |
220 %4 = bitcast i8* %2 to i32* | 220 %4 = bitcast i8* %2 to i32* |
221 %5 = load i32* %4 | 221 %5 = load i32, i32* %4 |
222 %6 = ptrtoint i8* %3 to i32 | 222 %6 = ptrtoint i8* %3 to i32 |
223 %7 = add i32 %5, %6 | 223 %7 = add i32 %5, %6 |
224 br label %merge | 224 br label %merge |
225 | 225 |
226 false: ; preds = %1 | 226 false: ; preds = %1 |
227 %8 = bitcast i8* %2 to i32* | 227 %8 = bitcast i8* %2 to i32* |
228 %9 = load i32* %8 | 228 %9 = load i32, i32* %8 |
229 %10 = ptrtoint i8* %3 to i32 | 229 %10 = ptrtoint i8* %3 to i32 |
230 br label %merge | 230 br label %merge |
231 | 231 |
232 merge: ; preds = %false, %true | 232 merge: ; preds = %false, %true |
233 %11 = phi i32 [ %6, %true ], [ %10, %false ] | 233 %11 = phi i32 [ %6, %true ], [ %10, %false ] |
234 %12 = phi i32 [ %5, %true ], [ %9, %false ] | 234 %12 = phi i32 [ %5, %true ], [ %9, %false ] |
235 ret void | 235 ret void |
236 } | 236 } |
237 | 237 |
238 define void @LongReachingCasts(i1) { | 238 define void @LongReachingCasts(i1) { |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 | 383 |
384 ; CHECK: Record Histogram: (6 elements): | 384 ; CHECK: Record Histogram: (6 elements): |
385 | 385 |
386 ; CHECK: Count %Count # Bits Bits/Elmt % Abv Record Kind | 386 ; CHECK: Count %Count # Bits Bits/Elmt % Abv Record Kind |
387 ; CHECK-NEXT: 16 45.71 {{.*}} {{.*}} {{.*}} VAR | 387 ; CHECK-NEXT: 16 45.71 {{.*}} {{.*}} {{.*}} VAR |
388 ; CHECK-NEXT: 12 34.29 {{.*}} {{.*}} {{.*}} RELOC | 388 ; CHECK-NEXT: 12 34.29 {{.*}} {{.*}} {{.*}} RELOC |
389 ; CHECK-NEXT: 4 11.43 {{.*}} {{.*}} {{.*}} DATA | 389 ; CHECK-NEXT: 4 11.43 {{.*}} {{.*}} {{.*}} DATA |
390 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} COUNT | 390 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} COUNT |
391 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} {{.*}} ZEROFILL | 391 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} {{.*}} ZEROFILL |
392 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} {{.*}} COMPOUND | 392 ; CHECK-NEXT: 1 2.86 {{.*}} {{.*}} {{.*}} COMPOUND |
OLD | NEW |