brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 986dc7a Raw
78 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; CHECK: cmp.eq4; CHECK: cmp.eq5; CHECK: cmp.eq6; CHECK: cmp.eq7 8%s.0 = type { ptr, i32, ptr }9 10@g0 = external global ptr, align 411@g1 = private global [4 x i64] zeroinitializer, section "__llvm_prf_cnts", align 812 13declare void @f0(ptr)14 15define i32 @f1() #0 {16b0:17  %v0 = load i64, ptr @g1, align 818  %v1 = add i64 %v0, 119  store i64 %v1, ptr @g1, align 820  br label %b121 22b1:                                               ; preds = %b6, %b023  %v2 = phi i32 [ 0, %b0 ], [ %v27, %b6 ]24  %v3 = load i64, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 1), align 825  %v4 = add i64 %v3, 126  store i64 %v4, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 1), align 827  %v5 = load ptr, ptr @g0, align 428  %v6 = getelementptr inbounds ptr, ptr %v5, i32 %v229  %v7 = load ptr, ptr %v6, align 430  %v8 = icmp eq ptr %v7, null31  br i1 %v8, label %b6, label %b232 33b2:                                               ; preds = %b134  %v9 = load i64, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 2), align 835  %v10 = add i64 %v9, 136  store i64 %v10, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 2), align 837  %v12 = getelementptr inbounds %s.0, ptr %v7, i32 0, i32 238  %v13 = load ptr, ptr %v12, align 439  %v14 = icmp eq ptr %v13, null40  %v15 = getelementptr inbounds %s.0, ptr %v7, i32 0, i32 241  br i1 %v14, label %b5, label %b342 43b3:                                               ; preds = %b244  br label %b445 46b4:                                               ; preds = %b4, %b347  %v16 = phi ptr [ %v25, %b4 ], [ %v15, %b3 ]48  %v17 = phi ptr [ %v20, %b4 ], [ %v7, %b3 ]49  %v18 = load i64, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 3), align 850  %v19 = add i64 %v18, 151  store i64 %v19, ptr getelementptr inbounds ([4 x i64], ptr @g1, i32 0, i32 3), align 852  %v20 = load ptr, ptr %v16, align 453  tail call void @f0(ptr %v17)54  %v22 = getelementptr inbounds %s.0, ptr %v20, i32 0, i32 255  %v23 = load ptr, ptr %v22, align 456  %v24 = icmp eq ptr %v23, null57  %v25 = getelementptr inbounds %s.0, ptr %v20, i32 0, i32 258  br i1 %v24, label %b5, label %b459 60b5:                                               ; preds = %b4, %b261  %v26 = phi ptr [ %v7, %b2 ], [ %v20, %b4 ]62  tail call void @f0(ptr %v26)63  br label %b664 65b6:                                               ; preds = %b5, %b166  %v27 = add nuw nsw i32 %v2, 167  %v28 = icmp eq i32 %v27, 300168  br i1 %v28, label %b7, label %b169 70b7:                                               ; preds = %b671  %v29 = load ptr, ptr @g0, align 472  tail call void @f0(ptr %v29)73  ret i32 undef74}75 76attributes #0 = { nounwind "target-cpu"="hexagonv60" }77 78