File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ ;; Check that we emit a $local alias for a dso_local function definition
2
+ ; RUN: llc -mtriple=armv7-linux-gnueabi -relocation-model=static < %s \
3
+ ; RUN: | FileCheck %s --check-prefixes=CHECK,STATIC
4
+ ; RUN: llc -mtriple=armv7-linux-gnueabi -relocation-model=pic < %s \
5
+ ; RUN: | FileCheck %s --check-prefixes=CHECK,PIC
6
+
7
+ define dso_local ptr @dsolocal_func () nounwind {
8
+ ; CHECK-LABEL: .globl dsolocal_func
9
+ ; CHECK-NEXT: .p2align 2
10
+ ; CHECK-NEXT: .type dsolocal_func,%function
11
+ ; CHECK-NEXT: .code 32
12
+ ; CHECK-NEXT: dsolocal_func:
13
+ ; TODO: PIC codegen should emit a $local alias here
14
+ ; PIC-TODO-NEXT: .Ldsolocal_func$local:
15
+ ; CHECK-NEXT: .fnstart
16
+ ; CHECK-NEXT: @ %bb.0:
17
+ ; STATIC-NEXT: movw r0, :lower16:dsolocal_func
18
+ ; STATIC-NEXT: movt r0, :upper16:dsolocal_func
19
+ ; STATIC-NEXT: bx lr
20
+ ; PIC-NEXT: ldr r0, .LCPI0_0
21
+ ; PIC-NEXT: .LPC0_0:
22
+ ; PIC-NEXT: add r0, pc, r0
23
+ ; PIC-NEXT: bx lr
24
+ ; PIC-NEXT: .p2align 2
25
+ ; PIC-NEXT: @ %bb.1:
26
+ ; PIC-NEXT: .LCPI0_0:
27
+ ; PIC-NEXT: .long dsolocal_func-(.LPC0_0+8)
28
+ ; CHECK-NEXT: .Lfunc_end0:
29
+ ; CHECK-NEXT: .size dsolocal_func, .Lfunc_end0-dsolocal_func
30
+ ; CHECK-NEXT: .cantunwind
31
+ ; CHECK-NEXT: .fnend
32
+ ret ptr @dsolocal_func
33
+ }
You can’t perform that action at this time.
0 commit comments