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@54880 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/Collector.cpp b/lib/CodeGen/Collector.cpp
index 1a1fb7c..6fd0189 100644
--- a/lib/CodeGen/Collector.cpp
+++ b/lib/CodeGen/Collector.cpp
@@ -92,7 +92,8 @@
   CustomReadBarriers(false),
   CustomWriteBarriers(false),
   CustomRoots(false),
-  InitRoots(true)
+  InitRoots(true),
+  UsesMetadata(false)
 {}
 
 Collector::~Collector() {
@@ -110,16 +111,6 @@
   return 0;
 }
     
-void Collector::beginAssembly(std::ostream &OS, AsmPrinter &AP,
-                              const TargetAsmInfo &TAI) {
-  // Default is no action.
-}
-    
-void Collector::finishAssembly(std::ostream &OS, AsmPrinter &AP,
-                               const TargetAsmInfo &TAI) {
-  // Default is no action.
-}
- 
 CollectorMetadata *Collector::insertFunctionMetadata(const Function &F) {
   CollectorMetadata *CM = new CollectorMetadata(F, *this);
   Functions.push_back(CM);
@@ -128,6 +119,22 @@
 
 // -----------------------------------------------------------------------------
 
+GCMetadataPrinter::GCMetadataPrinter() { }
+
+GCMetadataPrinter::~GCMetadataPrinter() { }
+
+void GCMetadataPrinter::beginAssembly(std::ostream &OS, AsmPrinter &AP,
+                                      const TargetAsmInfo &TAI) {
+  // Default is no action.
+}
+
+void GCMetadataPrinter::finishAssembly(std::ostream &OS, AsmPrinter &AP,
+                                       const TargetAsmInfo &TAI) {
+  // Default is no action.
+}
+
+// -----------------------------------------------------------------------------
+
 FunctionPass *llvm::createGCLoweringPass() {
   return new LowerIntrinsics();
 }