diff options
author | Devang Patel <dpatel@apple.com> | 2010-01-05 21:47:32 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-01-05 21:47:32 +0000 |
commit | 6edcd3994c501fb4ecdfc5bce1ee284c3b4c424b (patch) | |
tree | 6bde329213db03acd550379a75187e1a1b413eaf /llvm/lib/VMCore/AsmWriter.cpp | |
parent | f312cfa2501b3d8ddbd8393fa3dcefae0987ded0 (diff) | |
download | bcm5719-llvm-6edcd3994c501fb4ecdfc5bce1ee284c3b4c424b.tar.gz bcm5719-llvm-6edcd3994c501fb4ecdfc5bce1ee284c3b4c424b.zip |
Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}
llvm-svn: 92783
Diffstat (limited to 'llvm/lib/VMCore/AsmWriter.cpp')
-rw-r--r-- | llvm/lib/VMCore/AsmWriter.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp index 950eb0b05cb..7cb5a7c7598 100644 --- a/llvm/lib/VMCore/AsmWriter.cpp +++ b/llvm/lib/VMCore/AsmWriter.cpp @@ -615,8 +615,7 @@ void SlotTracker::processModule() { E = TheModule->named_metadata_end(); I != E; ++I) { const NamedMDNode *NMD = I; for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) { - // FIXME: Change accessor to be type safe. - if (MDNode *MD = cast_or_null<MDNode>(NMD->getOperand(i))) + if (MDNode *MD = NMD->getOperand(i)) CreateMetadataSlot(MD); } } @@ -1370,10 +1369,10 @@ void AssemblyWriter::printNamedMDNode(const NamedMDNode *NMD) { Out << "!" << NMD->getName() << " = !{"; for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) { if (i) Out << ", "; - // FIXME: Change accessor to be typesafe. - // FIXME: This doesn't handle null?? - MDNode *MD = cast_or_null<MDNode>(NMD->getOperand(i)); - Out << '!' << Machine.getMetadataSlot(MD); + if (MDNode *MD = NMD->getOperand(i)) + Out << '!' << Machine.getMetadataSlot(MD); + else + Out << "null"; } Out << "}\n"; } |