Factor GC metadata table assembly generation out of Collector in preparation for splitting AsmPrinter into its own library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54881 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/GCs.cpp b/lib/CodeGen/GCs.cpp
new file mode 100644
index 0000000..1247253
--- /dev/null
+++ b/lib/CodeGen/GCs.cpp
@@ -0,0 +1,28 @@
+//===-- Collectors.cpp - Garbage collector registry -----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the static data members of the CollectorRegistry class.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/CodeGen/GCs.h"
+
+using namespace llvm;
+
+template<> CollectorRegistry::node *CollectorRegistry::Head = 0;
+template<> CollectorRegistry::node *CollectorRegistry::Tail = 0;
+template<> CollectorRegistry::listener *CollectorRegistry::ListenerHead = 0;
+template<> CollectorRegistry::listener *CollectorRegistry::ListenerTail = 0;
+
+template<> GCMetadataPrinterRegistry::node *GCMetadataPrinterRegistry::Head = 0;
+template<> GCMetadataPrinterRegistry::node *GCMetadataPrinterRegistry::Tail = 0;
+template<> GCMetadataPrinterRegistry::listener *
+GCMetadataPrinterRegistry::ListenerHead = 0;
+template<> GCMetadataPrinterRegistry::listener *
+GCMetadataPrinterRegistry::ListenerTail = 0;