[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / COFF / tls-alignment-32.ll
blob2f02b59f7bf5f55e555704cbeb445b12872e0d08
1 ; REQUIRES: x86
3 ; This test is to make sure that the necessary alignment for thread locals
4 ; gets reflected in the TLS Directory of the generated executable on x86.
6 ; aligned_thread_local specifies 'align 32' and so the generated
7 ; exe should reflect that with a value of IMAGE_SCN_ALIGN_32BYTES
8 ; in the Characteristics field of the IMAGE_TLS_DIRECTORY
10 ; RUN: llc -filetype=obj %S/Inputs/tlssup-32.ll -o %t.tlssup.obj
11 ; RUN: llc -filetype=obj %s -o %t.obj
12 ; RUN: lld-link %t.tlssup.obj %t.obj -entry:main -nodefaultlib -out:%t.exe
13 ; RUN: llvm-readobj --coff-tls-directory %t.exe | FileCheck %s
15 ; CHECK: TLSDirectory {
16 ; CHECK: Characteristics [ (0x600000)
17 ; CHECK-NEXT: IMAGE_SCN_ALIGN_32BYTES (0x600000)
19 target triple = "i686-pc-windows-msvc"
21 @aligned_thread_local = thread_local global i32 42, align 32
23 define i32 @main() {
24   %t = load i32, ptr @aligned_thread_local
25   ret i32 %t