xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/fast-isel-pie.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=pic -mtriple=armv7-pc-linux-gnueabi | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@var = global i32 42
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine i32* @foo() {
6*9880d681SAndroid Build Coastguard Worker; CHECK:      foo:
7*9880d681SAndroid Build Coastguard Worker; CHECK:      ldr     r0, .L[[POOL:.*]]
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .L[[ADDR:.*]]:
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: add     r0, pc, r0
10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: bx      lr
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker; CHECK:      .L[[POOL]]:
13*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .long   var-(.L[[ADDR]]+8)
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker  ret i32* @var
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!0}
19*9880d681SAndroid Build Coastguard Worker!0 = !{i32 1, !"PIE Level", i32 2}
20