xref: /llvm-project/llvm/test/CodeGen/ARM/pie.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc  -mtriple=armv7-pc-linux-gnueabi -relocation-model=pic < %s | FileCheck %s
2
3@foo = dso_local global i32 42
4
5define dso_local ptr @get_foo() {
6  ret ptr @foo
7}
8
9; Test that we only use one load. Even that is only needed because there
10; doesn't seem to be pc relative relocations for movw movt.
11; CHECK:      ldr     r0, .LCPI0_0
12; CHECK-NEXT: .L{{.*}}:
13; CHECK-NEXT: add     r0, pc, r0
14; CHECK-NEXT: bx      lr
15
16!llvm.module.flags = !{!0}
17
18!0 = !{i32 1, !"PIE Level", i32 2}
19