Factor out asmprinters from collector interface.

llvm-svn: 54884
This commit is contained in:
Anton Korobeynikov 2008-08-17 13:52:35 +00:00
parent 00441dfcd4
commit f01991a0d4
1 changed files with 18 additions and 0 deletions

View File

@ -122,6 +122,10 @@ bool AsmPrinter::doInitialization(Module &M) {
E = CMM->end(); I != E; ++I)
if (GCMetadataPrinter *GCP = GetOrCreateGCPrinter(*I))
GCP->beginAssembly(O, *this, *TAI);
<<<<<<< HEAD:lib/CodeGen/AsmPrinter.cpp
=======
>>>>>>> Factor out asmprinters from collector interface.:lib/CodeGen/AsmPrinter.cpp
if (!M.getModuleInlineAsm().empty())
O << TAI->getCommentString() << " Start of file scope inline assembly\n"
@ -1469,6 +1473,7 @@ void AsmPrinter::printVisibility(const std::string& Name,
GCMetadataPrinter *AsmPrinter::GetOrCreateGCPrinter(Collector *C) {
if (!C->usesMetadata())
return 0;
<<<<<<< HEAD:lib/CodeGen/AsmPrinter.cpp
gcp_iterator GCPI = GCMetadataPrinters.find(C);
if (GCPI != GCMetadataPrinters.end())
@ -1476,6 +1481,15 @@ GCMetadataPrinter *AsmPrinter::GetOrCreateGCPrinter(Collector *C) {
const char *Name = C->getName().c_str();
=======
gcp_iterator GCPI = GCMetadataPrinters.find(C);
if (GCPI != GCMetadataPrinters.end())
return GCPI->second;
const char *Name = C->getName().c_str();
>>>>>>> Factor out asmprinters from collector interface.:lib/CodeGen/AsmPrinter.cpp
for (GCMetadataPrinterRegistry::iterator
I = GCMetadataPrinterRegistry::begin(),
E = GCMetadataPrinterRegistry::end(); I != E; ++I)
@ -1485,7 +1499,11 @@ GCMetadataPrinter *AsmPrinter::GetOrCreateGCPrinter(Collector *C) {
GCMetadataPrinters.insert(std::make_pair(C, GCP));
return GCP;
}
<<<<<<< HEAD:lib/CodeGen/AsmPrinter.cpp
=======
>>>>>>> Factor out asmprinters from collector interface.:lib/CodeGen/AsmPrinter.cpp
cerr << "no GCMetadataPrinter registered for collector: " << Name << "\n";
abort();
}