Revert r180737. The companion patch was reverted, and this is not relevant right...
authorBill Wendling <isanbard@gmail.com>
Wed, 1 May 2013 22:32:08 +0000 (22:32 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 1 May 2013 22:32:08 +0000 (22:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180889 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/AsmPrinter.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
test/CodeGen/X86/tls-init-funcs.ll [deleted file]

index 4ecc7ade719fe58113e69a0072147352e5a61e18..c2fd6ce3679cc09ede23441f1259293a0fe30574 100644 (file)
@@ -486,7 +486,6 @@ namespace llvm {
                             unsigned uid) const;
     void EmitLLVMUsedList(const ConstantArray *InitList);
     void EmitXXStructorList(const Constant *List, bool isCtor);
-    void EmitTLSInitFuncs(const ConstantArray *InitList);
     GCMetadataPrinter *GetOrCreateGCPrinter(GCStrategy *C);
   };
 }
index 4a71ad333730bcab1f293a7bd74fe5c419e43e94..84162ace4188b5d070e995f5498e5d56b5db2a81 100644 (file)
@@ -1254,11 +1254,6 @@ bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) {
     return true;
   }
 
-  if (GV->getName() == "llvm.tls_init_funcs") {
-    EmitTLSInitFuncs(cast<ConstantArray>(GV->getInitializer()));
-    return true;
-  }
-
   return false;
 }
 
@@ -1325,16 +1320,6 @@ void AsmPrinter::EmitXXStructorList(const Constant *List, bool isCtor) {
   }
 }
 
-/// EmitTLSInitFuncs - Emit the TLS initialization functions.
-void AsmPrinter::EmitTLSInitFuncs(const ConstantArray *InitList) {
-  const DataLayout *TD = TM.getDataLayout();
-  OutStreamer.SwitchSection(getObjFileLowering().getTLSThreadInitSection());
-  EmitAlignment(Log2_32(TD->getPointerPrefAlignment()));
-  for (unsigned I = 0, E = InitList->getNumOperands(); I != E; ++I)
-    EmitGlobalConstant(
-      dyn_cast<Constant>(InitList->getOperand(I)->stripPointerCasts()));
-}
-
 //===--------------------------------------------------------------------===//
 // Emission and print routines
 //
diff --git a/test/CodeGen/X86/tls-init-funcs.ll b/test/CodeGen/X86/tls-init-funcs.ll
deleted file mode 100644 (file)
index b4eafd4..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-; RUN: llc < %s -mtriple x86_64-apple-macosx10 | FileCheck %s
-
-; CHECK: .section __DATA,__thread_init,thread_local_init_function_pointers
-; CHECK: .align 3
-; CHECK: .quad ___tls_init
-
-%struct.A = type { i8 }
-%struct.B = type { i32 }
-
-@i = thread_local global i32 37, align 4
-@a = thread_local global %struct.A zeroinitializer, align 1
-@b = thread_local global %struct.B zeroinitializer, align 4
-@z = global %struct.A zeroinitializer, align 1
-@y = global %struct.B zeroinitializer, align 4
-@__tls_guard = internal thread_local unnamed_addr global i1 false
-@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }]
-@llvm.tls_init_funcs = appending global [1 x void ()*] [void ()* @__tls_init]
-
-@_ZTH1i = alias void ()* @__tls_init
-@_ZTH1a = alias void ()* @__tls_init
-@_ZTH1b = alias void ()* @__tls_init
-
-declare void @_ZN1AC1Ev(%struct.A*)
-
-declare void @_ZN1BC1Ei(%struct.B*, i32)
-
-define internal void @_GLOBAL__I_a() section "__TEXT,__StaticInit,regular,pure_instructions" {
-entry:
-  tail call void @_ZN1AC1Ev(%struct.A* @z)
-  tail call void @_ZN1BC1Ei(%struct.B* @y, i32 42)
-  ret void
-}
-
-define internal void @__tls_init() {
-entry:
-  %.b = load i1* @__tls_guard, align 1
-  store i1 true, i1* @__tls_guard, align 1
-  br i1 %.b, label %exit, label %init
-
-init:                                             ; preds = %entry
-  tail call void @_ZN1AC1Ev(%struct.A* @a)
-  tail call void @_ZN1BC1Ei(%struct.B* @b, i32 927)
-  br label %exit
-
-exit:                                             ; preds = %entry, %init
-  ret void
-}
-
-define weak_odr hidden i32* @_ZTW1i() {
-  %.b.i = load i1* @__tls_guard, align 1
-  store i1 true, i1* @__tls_guard, align 1
-  br i1 %.b.i, label %__tls_init.exit, label %init.i
-
-init.i:                                           ; preds = %0
-  tail call void @_ZN1AC1Ev(%struct.A* @a)
-  tail call void @_ZN1BC1Ei(%struct.B* @b, i32 927)
-  br label %__tls_init.exit
-
-__tls_init.exit:                                  ; preds = %0, %init.i
-  ret i32* @i
-}
-
-define weak_odr hidden %struct.A* @_ZTW1a() {
-  %.b.i = load i1* @__tls_guard, align 1
-  store i1 true, i1* @__tls_guard, align 1
-  br i1 %.b.i, label %__tls_init.exit, label %init.i
-
-init.i:                                           ; preds = %0
-  tail call void @_ZN1AC1Ev(%struct.A* @a)
-  tail call void @_ZN1BC1Ei(%struct.B* @b, i32 927)
-  br label %__tls_init.exit
-
-__tls_init.exit:                                  ; preds = %0, %init.i
-  ret %struct.A* @a
-}
-
-define weak_odr hidden %struct.B* @_ZTW1b() {
-  %.b.i = load i1* @__tls_guard, align 1
-  store i1 true, i1* @__tls_guard, align 1
-  br i1 %.b.i, label %__tls_init.exit, label %init.i
-
-init.i:                                           ; preds = %0
-  tail call void @_ZN1AC1Ev(%struct.A* @a)
-  tail call void @_ZN1BC1Ei(%struct.B* @b, i32 927)
-  br label %__tls_init.exit
-
-__tls_init.exit:                                  ; preds = %0, %init.i
-  ret %struct.B* @b
-}