| 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 |