]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commitdiff
Thread local globals don't require special handling by the linker and so can
authorRichard Osborne <richard@xmos.com>
Wed, 22 Jul 2009 11:01:00 +0000 (11:01 +0000)
committerRichard Osborne <richard@xmos.com>
Wed, 22 Jul 2009 11:01:00 +0000 (11:01 +0000)
be placed in the standard data / bss sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76735 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/XCore/XCoreTargetAsmInfo.cpp

index 07cee8fb6bb47b1ed985ad86ee4d46eff0cdbaa4..842c427b3b295861ece17045371e3ddaf288c008 100644 (file)
@@ -29,6 +29,13 @@ XCoreTargetAsmInfo::XCoreTargetAsmInfo(const XCoreTargetMachine &TM)
                                 SectionFlags::Small);
   BSSSection_  = getNamedSection("\t.dp.bss", SectionFlags::Writeable |
                                  SectionFlags::BSS | SectionFlags::Small);
+
+  // TLS globals are lowered in the backend to arrays indexed by the current
+  // thread id. After lowering they require no special handling by the linker
+  // and can be placed in the standard data / bss sections.
+  TLSDataSection = DataSection;
+  TLSBSSSection = BSSSection_;
+
   if (TM.getSubtargetImpl()->isXS1A()) {
     ReadOnlySection = getNamedSection("\t.dp.rodata", SectionFlags::None |
                                       SectionFlags::Writeable |