+ } else if (const NamedMDNode *N = dyn_cast<NamedMDNode>(this)) {
+ SlotTracker SlotTable(N);
+ TypePrinting TypePrinter;
+ SlotTable.initialize();
+ OS << "!" << N->getName() << " = !{";
+ for (unsigned i = 0, e = N->getNumElements(); i != e; ++i) {
+ if (i) OS << ", ";
+ MDNode *MD = dyn_cast_or_null<MDNode>(N->getElement(i));
+ if (MD)
+ OS << '!' << SlotTable.getMetadataSlot(MD);
+ else
+ OS << "null";
+ }
+ OS << "}\n";
+ WriteMDNodes(OS, TypePrinter, SlotTable);