xref: /llvm-project/llvm/test/CodeGen/Hexagon/pic-simple.ll (revision a96f691985c8546e826012fdc3481c88f034a194)
1; RUN: llc -mtriple=hexagon-- -mcpu=hexagonv5 -relocation-model=pic < %s | FileCheck %s
2
3; CHECK: r{{[0-9]+}} = add({{pc|PC}},##_GLOBAL_OFFSET_TABLE_@PCREL)
4; CHECK: r{{[0-9]+}} = memw(r{{[0-9]+}}+##src@GOT)
5; CHECK: r{{[0-9]+}} = memw(r{{[0-9]+}}+##dst@GOT)
6
7@dst = external global i32
8@src = external global i32
9
10define i32 @foo() nounwind {
11entry:
12  %0 = load i32, ptr @src, align 4, !tbaa !0
13  store i32 %0, ptr @dst, align 4, !tbaa !0
14  %call = tail call i32 @baz(i32 %0) nounwind
15  ret i32 0
16}
17
18declare i32 @baz(i32)
19
20!0 = !{!"int", !1}
21!1 = !{!"omnipotent char", !2}
22!2 = !{!"Simple C/C++ TBAA"}
23