Skip to content

Commit 7925341

Browse files
committed
[ARM] Add a baseline test for D131392
We should be emitting .Lfoo$local aliases for dso_local functions.
1 parent 67b0753 commit 7925341

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
}

0 commit comments

Comments
 (0)