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