Mercurial > projects > ldc
diff gen/typinf.cpp @ 1555:ed0cffe895ec
use the new NamedMDNode class
this will need a LLVM >= r77619
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Thu, 30 Jul 2009 20:54:03 +0200 |
parents | d6e8d5db259f |
children | d11aeae19b95 |
line wrap: on
line diff
--- a/gen/typinf.cpp Thu Jul 30 15:25:10 2009 +0200 +++ b/gen/typinf.cpp Thu Jul 30 20:54:03 2009 +0200 @@ -304,7 +304,7 @@ // Add some metadata for use by optimization passes. std::string metaname = std::string(TD_PREFIX) + mangle; - LLGlobalVariable* meta = gIR->module->getGlobalVariable(metaname); + llvm::NamedMDNode* meta = gIR->module->getNamedMetadata(metaname); // Don't generate metadata for non-concrete types // (such as tuple types, slice types, typeof(expr), etc.) if (!meta && tid->tinfo->toBasetype()->ty < Terror) { @@ -314,10 +314,9 @@ mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value); mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo)); // Construct the metadata - llvm::MDNode* metadata = gIR->context().getMDNode(mdVals, TD_NumFields); + llvm::MetadataBase* metadata = gIR->context().getMDNode(mdVals, TD_NumFields); // Insert it into the module - new llvm::GlobalVariable(*gIR->module, metadata->getType(), true, - METADATA_LINKAGE_TYPE, metadata, metaname); + llvm::NamedMDNode::Create(metaname, &metadata, 1, gIR->module); } DtoDeclareTypeInfo(tid);