Mercurial > projects > ldc
comparison gen/typinf.cpp @ 1533:d1652c8fb4f6
Get rid of USE_METADATA
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Sat, 11 Jul 2009 14:19:21 +0200 |
parents | ad7f2f1862d6 |
children | 7fcb72d518f6 |
comparison
equal
deleted
inserted
replaced
1532:c88b16d4a13c | 1533:d1652c8fb4f6 |
---|---|
301 irg->value = new llvm::GlobalVariable(*gIR->module, irg->type.get(), true, | 301 irg->value = new llvm::GlobalVariable(*gIR->module, irg->type.get(), true, |
302 TYPEINFO_LINKAGE_TYPE, NULL, mangle); | 302 TYPEINFO_LINKAGE_TYPE, NULL, mangle); |
303 | 303 |
304 tid->ir.irGlobal = irg; | 304 tid->ir.irGlobal = irg; |
305 | 305 |
306 #ifdef USE_METADATA | |
307 // Add some metadata for use by optimization passes. | 306 // Add some metadata for use by optimization passes. |
308 std::string metaname = std::string(TD_PREFIX) + mangle; | 307 std::string metaname = std::string(TD_PREFIX) + mangle; |
309 LLGlobalVariable* meta = gIR->module->getGlobalVariable(metaname); | 308 LLGlobalVariable* meta = gIR->module->getGlobalVariable(metaname); |
310 // Don't generate metadata for non-concrete types | 309 // Don't generate metadata for non-concrete types |
311 // (such as tuple types, slice types, typeof(expr), etc.) | 310 // (such as tuple types, slice types, typeof(expr), etc.) |
319 llvm::MDNode* metadata = llvm::MDNode::get(mdVals, TD_NumFields); | 318 llvm::MDNode* metadata = llvm::MDNode::get(mdVals, TD_NumFields); |
320 // Insert it into the module | 319 // Insert it into the module |
321 new llvm::GlobalVariable(*gIR->module, metadata->getType(), true, | 320 new llvm::GlobalVariable(*gIR->module, metadata->getType(), true, |
322 METADATA_LINKAGE_TYPE, metadata, metaname); | 321 METADATA_LINKAGE_TYPE, metadata, metaname); |
323 } | 322 } |
324 #endif | |
325 | 323 |
326 DtoDeclareTypeInfo(tid); | 324 DtoDeclareTypeInfo(tid); |
327 } | 325 } |
328 | 326 |
329 void DtoDeclareTypeInfo(TypeInfoDeclaration* tid) | 327 void DtoDeclareTypeInfo(TypeInfoDeclaration* tid) |