[llvm] 7925341 - [ARM] Add a baseline test for D131392

Alex Richardson via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 9 02:54:00 PDT 2022


Author: Alex Richardson
Date: 2022-08-09T09:53:47Z
New Revision: 7925341d9332118c8f3469013b08cdcd9016749c

URL: https://github.com/llvm/llvm-project/commit/7925341d9332118c8f3469013b08cdcd9016749c
DIFF: https://github.com/llvm/llvm-project/commit/7925341d9332118c8f3469013b08cdcd9016749c.diff

LOG: [ARM] Add a baseline test for D131392

We should be emitting .Lfoo$local aliases for dso_local functions.

Added: 
    llvm/test/CodeGen/ARM/dso-local-func.ll

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/ARM/dso-local-func.ll b/llvm/test/CodeGen/ARM/dso-local-func.ll
new file mode 100644
index 000000000000..233249a0a9e1
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/dso-local-func.ll
@@ -0,0 +1,33 @@
+;; Check that we emit a $local alias for a dso_local function definition
+; RUN: llc -mtriple=armv7-linux-gnueabi -relocation-model=static < %s \
+; RUN:   | FileCheck %s --check-prefixes=CHECK,STATIC
+; RUN: llc -mtriple=armv7-linux-gnueabi -relocation-model=pic < %s \
+; RUN:   | FileCheck %s --check-prefixes=CHECK,PIC
+
+define dso_local ptr @dsolocal_func() nounwind {
+; CHECK-LABEL: 	.globl	dsolocal_func
+; CHECK-NEXT: 	.p2align	2
+; CHECK-NEXT: 	.type	dsolocal_func,%function
+; CHECK-NEXT: 	.code	32
+; CHECK-NEXT: dsolocal_func:
+; TODO: PIC codegen should emit a $local alias here
+; PIC-TODO-NEXT: .Ldsolocal_func$local:
+; CHECK-NEXT: 	.fnstart
+; CHECK-NEXT: @ %bb.0:
+; STATIC-NEXT: 	movw	r0, :lower16:dsolocal_func
+; STATIC-NEXT: 	movt	r0, :upper16:dsolocal_func
+; STATIC-NEXT: 	bx	lr
+; PIC-NEXT:     ldr	r0, .LCPI0_0
+; PIC-NEXT:   .LPC0_0:
+; PIC-NEXT:     add	r0, pc, r0
+; PIC-NEXT:     bx	lr
+; PIC-NEXT:     .p2align	2
+; PIC-NEXT:   @ %bb.1:
+; PIC-NEXT:   .LCPI0_0:
+; PIC-NEXT:     .long	dsolocal_func-(.LPC0_0+8)
+; CHECK-NEXT: .Lfunc_end0:
+; CHECK-NEXT: 	.size	dsolocal_func, .Lfunc_end0-dsolocal_func
+; CHECK-NEXT: 	.cantunwind
+; CHECK-NEXT: 	.fnend
+  ret ptr @dsolocal_func
+}


        


More information about the llvm-commits mailing list