[ARM] Fix code generation for:
static __thread struct { int a; int b; } teste = {0, 0}; llvm-svn: 43722
This commit is contained in:
parent
e93520d977
commit
1a30c18e88
|
@ -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";
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
Loading…
Reference in New Issue