xref: /llvm-project/llvm/test/CodeGen/Hexagon/hidden-relocation.ll (revision 2208c97c1bec2512d4e47b6223db6d95a7037956)
1; RUN: llc -mtriple=hexagon -O2 -relocation-model=pic < %s | FileCheck %s
2;
3; CHECK: r{{[0-9]+}} = add({{pc|PC}},##g2@PCREL)
4
5@g0 = hidden global i32 10, align 4
6@g1 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
7@g2 = internal global ptr @g0, align 4
8
9; Function Attrs: nounwind
10declare i32 @f0(ptr, ...) #0
11
12; Function Attrs: nounwind
13define i32 @f1() #0 {
14b0:
15  %v0 = alloca i32, align 4
16  store i32 10, ptr @g0, align 4
17  %v1 = load ptr, ptr @g2, align 4
18  %v2 = load i32, ptr %v1, align 4
19  %v3 = call i32 (ptr, ...) @f0(ptr @g1, i32 %v2)
20  %v4 = load i32, ptr %v0
21  ret i32 %v4
22}
23
24attributes #0 = { nounwind }
25