mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 03:25:23 +00:00
[ARM] Fix code generation for:
static __thread struct { int a; int b; } teste = {0, 0}; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43722 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -836,7 +836,7 @@ bool ARMAsmPrinter::doFinalization(Module &M) {
|
|||||||
if (Subtarget->isTargetELF())
|
if (Subtarget->isTargetELF())
|
||||||
O << "\t.type " << name << ",%object\n";
|
O << "\t.type " << name << ",%object\n";
|
||||||
|
|
||||||
if (C->isNullValue() && !I->hasSection()) {
|
if (C->isNullValue() && !I->hasSection() && !I->isThreadLocal()) {
|
||||||
if (I->hasExternalLinkage()) {
|
if (I->hasExternalLinkage()) {
|
||||||
if (const char *Directive = TAI->getZeroFillDirective()) {
|
if (const char *Directive = TAI->getZeroFillDirective()) {
|
||||||
O << "\t.globl\t" << name << "\n";
|
O << "\t.globl\t" << name << "\n";
|
||||||
|
11
test/CodeGen/ARM/tls3.ll
Normal file
11
test/CodeGen/ARM/tls3.ll
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnueabi | \
|
||||||
|
; RUN: grep {tbss}
|
||||||
|
|
||||||
|
%struct.anon = type { i32, i32 }
|
||||||
|
@teste = internal thread_local global %struct.anon zeroinitializer ; <%struct.anon*> [#uses=1]
|
||||||
|
|
||||||
|
define i32 @main() {
|
||||||
|
entry:
|
||||||
|
%tmp2 = load i32* getelementptr (%struct.anon* @teste, i32 0, i32 0), align 8 ; <i32> [#uses=1]
|
||||||
|
ret i32 %tmp2
|
||||||
|
}
|
Reference in New Issue
Block a user