summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/fast-isel-pie.ll
blob: 23a88bdaa22e923726b4578d0055637c88e8a08c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=pic -mtriple=armv7-pc-linux-gnueabi | FileCheck %s

@var = global i32 42

define i32* @foo() {
; CHECK:      foo:
; CHECK:      ldr     r0, .L[[POOL:.*]]
; CHECK-NEXT: .L[[ADDR:.*]]:
; CHECK-NEXT: add     r0, pc, r0
; CHECK-NEXT: bx      lr

; CHECK:      .L[[POOL]]:
; CHECK-NEXT: .long   var-(.L[[ADDR]]+8)

  ret i32* @var
}

!llvm.module.flags = !{!0}
!0 = !{i32 1, !"PIE Level", i32 2}