brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 89782e3 Raw
125 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3target triple = "hexagon"4 5@g0 = external global i326@g1 = external global i32, align 47@g2 = external hidden unnamed_addr constant [49 x i8], align 88@g3 = external hidden unnamed_addr constant [76 x i8], align 89@g4 = external unnamed_addr constant { ptr, ptr }10@g5 = external hidden unnamed_addr constant [36 x i8], align 811 12declare void @f0()13 14declare i32 @f1()15 16declare i32 @f2(i32)17 18declare void @f3()19 20; Function Attrs: nounwind21declare ptr @f4(ptr) #022 23; Function Attrs: nounwind24declare ptr @f5(ptr) #025 26; CHECK: f6:27; CHECK-DAG: call f428; CHECK-DAG: r0 = ##f329; CHECK-DAG: call f530; CHECK-DAG: r0 = ##f031; CHECK-DAG: call f832; CHECK-DAG: r0 = ##g233; CHECK-DAG: call f934; CHECK-DAG: call f835; CHECK-DAG: r0 = ##g336; CHECK-DAG: call f1037; CHECK-DAG: r0 = #438; CHECK-DAG: r{{[0-9]+}} = ##g139define i32 @f6() personality ptr @f11 {40b0:41  tail call void @f7()42  %v0 = tail call ptr @f4(ptr @f3) #043  %v1 = tail call ptr @f5(ptr @f0) #044  tail call void (ptr, ...) @f8(ptr @g2)45  tail call void @f9()46  tail call void (ptr, ...) @f8(ptr @g3)47  %v2 = tail call ptr @f10(i32 4) #048  %v3 = load i32, ptr @g1, align 4, !tbaa !049  %v4 = add nsw i32 %v3, 150  store i32 %v4, ptr @g1, align 4, !tbaa !051  invoke void @f12(ptr %v2, ptr @g4, ptr null) #152          to label %b7 unwind label %b153 54b1:                                               ; preds = %b055  %v5 = landingpad { ptr, i32 }56          catch ptr null57  %v6 = extractvalue { ptr, i32 } %v5, 058  %v7 = tail call ptr @f13(ptr %v6) #059  store i32 0, ptr @g1, align 4, !tbaa !060  invoke void @f14() #161          to label %b7 unwind label %b262 63b2:                                               ; preds = %b164  %v8 = landingpad { ptr, i32 }65          catch ptr null66  invoke void @f15()67          to label %b3 unwind label %b668 69b3:                                               ; preds = %b270  %v9 = extractvalue { ptr, i32 } %v8, 071  %v10 = tail call ptr @f13(ptr %v9) #072  tail call void @f15()73  %v11 = load i32, ptr @g1, align 4, !tbaa !074  %v12 = icmp eq i32 %v11, 075  br i1 %v12, label %b5, label %b476 77b4:                                               ; preds = %b378  tail call void (ptr, ...) @f8(ptr @g5)79  store i32 1, ptr @g0, align 4, !tbaa !080  br label %b581 82b5:                                               ; preds = %b4, %b383  %v13 = tail call i32 @f1()84  %v14 = tail call i32 @f2(i32 1)85  ret i32 %v1486 87b6:                                               ; preds = %b288  %v15 = landingpad { ptr, i32 }89          catch ptr null90  tail call void @f16() #291  unreachable92 93b7:                                               ; preds = %b1, %b094  unreachable95}96 97declare void @f7()98 99declare void @f8(ptr, ...)100 101declare void @f9()102 103declare ptr @f10(i32)104 105declare i32 @f11(...)106 107declare void @f12(ptr, ptr, ptr)108 109declare ptr @f13(ptr)110 111declare void @f14()112 113declare void @f15()114 115declare void @f16()116 117attributes #0 = { nounwind }118attributes #1 = { noreturn }119attributes #2 = { noreturn nounwind }120 121!0 = !{!1, !1, i64 0}122!1 = !{!"int", !2}123!2 = !{!"omnipotent char", !3}124!3 = !{!"Simple C/C++ TBAA"}125