[lld] r264903 - [lld] [ELF/AArch64] Add aarch64 TLS IE to LE relax for local symbol test
Adhemerval Zanella via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 30 12:12:19 PDT 2016
Author: azanella
Date: Wed Mar 30 14:12:18 2016
New Revision: 264903
URL: http://llvm.org/viewvc/llvm-project?rev=264903&view=rev
Log:
[lld] [ELF/AArch64] Add aarch64 TLS IE to LE relax for local symbol test
This patch add a TLS relax optimization test when transforming
Initial-Exec to Local-Exec for local symbols (which can not be preempted).
Modified:
lld/trunk/test/ELF/aarch64-tls-iele.s
Modified: lld/trunk/test/ELF/aarch64-tls-iele.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/aarch64-tls-iele.s?rev=264903&r1=264902&r2=264903&view=diff
==============================================================================
--- lld/trunk/test/ELF/aarch64-tls-iele.s (original)
+++ lld/trunk/test/ELF/aarch64-tls-iele.s Wed Mar 30 14:12:18 2016
@@ -5,17 +5,29 @@
# RUN: llvm-readobj -s -r %tout | FileCheck -check-prefix=RELOC %s
# REQUIRES: aarch64
-#Local-Dynamic to Initial-Exec relax creates no
-#RELOC: Relocations [
-#RELOC-NEXT: ]
+# Initial-Exec to Local-Exec relax creates no dynamic relocations.
+# RELOC: Relocations [
+# RELOC-NEXT: ]
# TCB size = 0x16 and foo is first element from TLS register.
-#CHECK: Disassembly of section .text:
-#CHECK: _start:
-#CHECK: 11000: 00 00 a0 d2 movz x0, #0, lsl #16
-#CHECK: 11004: 00 02 80 f2 movk x0, #0x10
+# CHECK: Disassembly of section .text:
+# CHECK: _start:
+# CHECK-NEXT: 11000: 00 00 a0 d2 movz x0, #0, lsl #16
+# CHECK-NEXT: 11004: 80 02 80 f2 movk x0, #0x14
+# CHECK-NEXT: 11008: 00 00 a0 d2 movz x0, #0, lsl #16
+# CHECK-NEXT: 1100c: 00 02 80 f2 movk x0, #0x10
+
+.section .tdata
+.align 2
+.type foo_local, %object
+.size foo_local, 4
+foo_local:
+.word 5
+.text
.globl _start
_start:
adrp x0, :gottprel:foo
ldr x0, [x0, :gottprel_lo12:foo]
+ adrp x0, :gottprel:foo_local
+ ldr x0, [x0, :gottprel_lo12:foo_local]
More information about the llvm-commits
mailing list