Mercurial > projects > ldc
comparison gen/typinf.cpp @ 1545:7fcb72d518f6
More factory methods moved to LLVMContext
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Wed, 15 Jul 2009 18:09:41 +0200 |
parents | d1652c8fb4f6 |
children | 259b031f3d22 |
comparison
equal
deleted
inserted
replaced
1544:8863cf7236e6 | 1545:7fcb72d518f6 |
---|---|
313 MDNodeField* mdVals[TD_NumFields]; | 313 MDNodeField* mdVals[TD_NumFields]; |
314 if (TD_Confirm >= 0) | 314 if (TD_Confirm >= 0) |
315 mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value); | 315 mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value); |
316 mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo)); | 316 mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo)); |
317 // Construct the metadata | 317 // Construct the metadata |
318 llvm::MDNode* metadata = llvm::MDNode::get(mdVals, TD_NumFields); | 318 llvm::MDNode* metadata = gIR->context().getMDNode(mdVals, TD_NumFields); |
319 // Insert it into the module | 319 // Insert it into the module |
320 new llvm::GlobalVariable(*gIR->module, metadata->getType(), true, | 320 new llvm::GlobalVariable(*gIR->module, metadata->getType(), true, |
321 METADATA_LINKAGE_TYPE, metadata, metaname); | 321 METADATA_LINKAGE_TYPE, metadata, metaname); |
322 } | 322 } |
323 | 323 |
432 // otherwise emit a void[] with the default initializer | 432 // otherwise emit a void[] with the default initializer |
433 else | 433 else |
434 { | 434 { |
435 const LLType* memty = DtoType(sd->memtype); | 435 const LLType* memty = DtoType(sd->memtype); |
436 #if DMDV2 | 436 #if DMDV2 |
437 LLConstant* C = llvm::ConstantInt::get(memty, sd->defaultval->toInteger(), !sd->memtype->isunsigned()); | 437 LLConstant* C = gIR->context().getConstantInt(memty, sd->defaultval->toInteger(), !sd->memtype->isunsigned()); |
438 #else | 438 #else |
439 LLConstant* C = llvm::ConstantInt::get(memty, sd->defaultval, !sd->memtype->isunsigned()); | 439 LLConstant* C = gIR->context().getConstantInt(memty, sd->defaultval, !sd->memtype->isunsigned()); |
440 #endif | 440 #endif |
441 b.push_void_array(C, sd->memtype, sd); | 441 b.push_void_array(C, sd->memtype, sd); |
442 } | 442 } |
443 | 443 |
444 // finish | 444 // finish |