brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 602bbf1 Raw
120 lines · plain
1; RUN: llc -mtriple=hexagon -O2 < %s | FileCheck %s2; Check the values of cfi offsets emitted.3; CHECK: .cfi_def_cfa r30, 84; CHECK: .cfi_offset r31, -45; CHECK: .cfi_offset r30, -86; CHECK: .cfi_offset r17, -127; CHECK: .cfi_offset r16, -168 9%s.0 = type { ptr, ptr }10%s.1 = type { ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, ptr, ptr, ptr, %s.2 }11%s.2 = type { i64, ptr, i32, i32, [12 x i8] }12%s.3 = type { ptr, i32, ptr, i32 }13 14; Function Attrs: noreturn15define void @f0(ptr %a0, ptr %a1, ptr %a2) #0 {16b0:17  %v0 = getelementptr inbounds i8, ptr %a0, i32 -8018  store ptr %a1, ptr %v0, align 16, !tbaa !019  %v2 = getelementptr inbounds i8, ptr %a0, i32 -7620  store ptr %a2, ptr %v2, align 4, !tbaa !921  %v4 = tail call ptr @f1(ptr null) #322  %v5 = getelementptr inbounds i8, ptr %a0, i32 -7223  store ptr %v4, ptr %v5, align 8, !tbaa !1024  %v7 = tail call ptr @f1(ptr %v4) #325  %v8 = tail call ptr @f2(ptr null) #326  %v9 = getelementptr inbounds i8, ptr %a0, i32 -6827  store ptr %v8, ptr %v9, align 4, !tbaa !1128  %v11 = tail call ptr @f2(ptr %v8) #329  %v12 = getelementptr inbounds i8, ptr %a0, i32 -6430  store ptr null, ptr %v12, align 16, !tbaa !1231  %v14 = getelementptr inbounds i8, ptr %a0, i32 -6032  store i32 0, ptr %v14, align 4, !tbaa !1333  %v16 = getelementptr inbounds i8, ptr %a0, i32 -3234  store i64 4921953907261516544, ptr %v16, align 16, !tbaa !1435  %v19 = getelementptr inbounds i8, ptr %a0, i32 -2436  store ptr @f3, ptr %v19, align 8, !tbaa !1537  %v21 = tail call ptr @f4() #338  %v22 = getelementptr inbounds %s.3, ptr %v21, i32 0, i32 139  %v23 = load i32, ptr %v22, align 4, !tbaa !1640  %v24 = add i32 %v23, 141  store i32 %v24, ptr %v22, align 4, !tbaa !1642  %v25 = tail call zeroext i8 @f5(ptr %v16) #443  %v26 = tail call ptr @f6(ptr %v16) #344  tail call void @f7() #545  unreachable46}47 48; Function Attrs: nounwind49declare ptr @f1(ptr) #150 51; Function Attrs: nounwind52declare ptr @f2(ptr) #153 54define internal void @f3(i8 zeroext %a0, ptr %a1) #2 {55b0:56  %v1 = load i64, ptr %a1, align 16, !tbaa !1857  %v2 = icmp eq i64 %v1, 492195390726151654458  br i1 %v2, label %b1, label %b459 60b1:                                               ; preds = %b061  %v3 = getelementptr inbounds %s.2, ptr %a1, i32 162  %v5 = getelementptr inbounds %s.2, ptr %a1, i32 -2, i32 363  %v6 = getelementptr inbounds i32, ptr %v5, i32 164  %v8 = load ptr, ptr %v6, align 4, !tbaa !965  %v9 = icmp eq ptr %v8, null66  br i1 %v9, label %b3, label %b267 68b2:                                               ; preds = %b169  tail call void %v8(ptr %v3) #470  br label %b371 72b3:                                               ; preds = %b2, %b173  tail call void @f8(ptr %v3) #374  br label %b475 76b4:                                               ; preds = %b3, %b077  ret void78}79 80; Function Attrs: nounwind81declare ptr @f4() #182 83declare zeroext i8 @f5(ptr) #284 85; Function Attrs: nounwind86declare ptr @f6(ptr) #187 88; Function Attrs: noreturn89declare void @f7() #090 91; Function Attrs: nounwind92declare void @f8(ptr) #193 94attributes #0 = { noreturn "target-cpu"="hexagonv60" }95attributes #1 = { nounwind "target-cpu"="hexagonv60" }96attributes #2 = { "target-cpu"="hexagonv60" }97attributes #3 = { nobuiltin nounwind }98attributes #4 = { nobuiltin }99attributes #5 = { nobuiltin noreturn }100 101!0 = !{!1, !2, i64 0}102!1 = !{!"_ZTS15__cxa_exception", !2, i64 0, !2, i64 4, !2, i64 8, !2, i64 12, !2, i64 16, !5, i64 20, !5, i64 24, !2, i64 28, !2, i64 32, !2, i64 36, !2, i64 40, !6, i64 48}103!2 = !{!"any pointer", !3, i64 0}104!3 = !{!"omnipotent char", !4, i64 0}105!4 = !{!"Simple C/C++ TBAA"}106!5 = !{!"int", !3, i64 0}107!6 = !{!"_ZTS17_Unwind_Exception", !7, i64 0, !2, i64 8, !8, i64 12, !8, i64 16}108!7 = !{!"long long", !3, i64 0}109!8 = !{!"long", !3, i64 0}110!9 = !{!1, !2, i64 4}111!10 = !{!1, !2, i64 8}112!11 = !{!1, !2, i64 12}113!12 = !{!1, !2, i64 16}114!13 = !{!1, !5, i64 20}115!14 = !{!1, !7, i64 48}116!15 = !{!1, !2, i64 56}117!16 = !{!17, !5, i64 4}118!17 = !{!"_ZTS16__cxa_eh_globals", !2, i64 0, !5, i64 4, !2, i64 8, !5, i64 12}119!18 = !{!6, !7, i64 0}120