Factor GC metadata table assembly generation out of Collector in preparation for splitting AsmPrinter into its own library.

llvm-svn: 54880
diff --git a/llvm/lib/CodeGen/Collector.cpp b/llvm/lib/CodeGen/Collector.cpp
index 1a1fb7c..6fd0189 100644
--- a/llvm/lib/CodeGen/Collector.cpp
+++ b/llvm/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();
 }