llvm.org GIT mirror llvm / release_39 test / CodeGen / ARM / pie.ll
release_39

Tree @release_39 (Download .tar.gz)

pie.ll @release_39raw · history · blame

; 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}