llvm-project/llvm/test/CodeGen/ARM/pie.ll

19 lines
467 B
LLVM

; RUN: llc -mtriple=armv7-pc-linux-gnueabi -relocation-model=pic < %s | FileCheck %s
@foo = global i32 42
define i32* @get_foo() {
ret i32* @foo
}
; Test that we only use one load. Even that is only needed because there
; doesn't seem to be pc relative relocations for movw movt.
; CHECK: ldr r0, .LCPI0_0
; CHECK-NEXT: .L{{.*}}:
; CHECK-NEXT: add r0, pc, r0
; CHECK-NEXT: bx lr
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"PIE Level", i32 2}