Mercurial > projects > ldc
diff gen/toir.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 | 61f12f4651b5 |
children | a326f145a57b |
line wrap: on
line diff
--- a/gen/toir.cpp Fri Jul 17 19:23:20 2009 +0200 +++ b/gen/toir.cpp Wed Jul 15 18:09:41 2009 +0200 @@ -288,11 +288,11 @@ const LLType* t = DtoType(type); if (isaPointer(t)) { Logger::println("pointer"); - LLConstant* i = llvm::ConstantInt::get(DtoSize_t(),(uint64_t)value,false); + LLConstant* i = gIR->context().getConstantInt(DtoSize_t(),(uint64_t)value,false); return llvm::ConstantExpr::getIntToPtr(i, t); } assert(llvm::isa<LLIntegerType>(t)); - LLConstant* c = llvm::ConstantInt::get(t,(uint64_t)value,!type->isunsigned()); + LLConstant* c = gIR->context().getConstantInt(t,(uint64_t)value,!type->isunsigned()); assert(c); if (Logger::enabled()) Logger::cout() << "value = " << *c << '\n'; @@ -402,16 +402,16 @@ if (cty->size() == 1) { uint8_t* str = (uint8_t*)string; std::string cont((char*)str, len); - _init = llvm::ConstantArray::get(cont,true); + _init = gIR->context().getConstantArray(cont,true); } else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector<LLConstant*> vals; vals.reserve(len+1); for(size_t i=0; i<len; ++i) { - vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; + vals.push_back(gIR->context().getConstantInt(ct, str[i], false));; } - vals.push_back(llvm::ConstantInt::get(ct, 0, false)); + vals.push_back(gIR->context().getConstantInt(ct, 0, false)); _init = llvm::ConstantArray::get(at,vals); } else if (cty->size() == 4) { @@ -419,9 +419,9 @@ std::vector<LLConstant*> vals; vals.reserve(len+1); for(size_t i=0; i<len; ++i) { - vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; + vals.push_back(gIR->context().getConstantInt(ct, str[i], false));; } - vals.push_back(llvm::ConstantInt::get(ct, 0, false)); + vals.push_back(gIR->context().getConstantInt(ct, 0, false)); _init = llvm::ConstantArray::get(at,vals); } else @@ -432,12 +432,12 @@ Logger::cout() << "type: " << *at << "\ninit: " << *_init << '\n'; llvm::GlobalVariable* gvar = new llvm::GlobalVariable(*gIR->module,at,true,_linkage,_init,".str"); - llvm::ConstantInt* zero = llvm::ConstantInt::get(LLType::Int32Ty, 0, false); + llvm::ConstantInt* zero = gIR->context().getConstantInt(LLType::Int32Ty, 0, false); LLConstant* idxs[2] = { zero, zero }; LLConstant* arrptr = llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2); if (dtype->ty == Tarray) { - LLConstant* clen = llvm::ConstantInt::get(DtoSize_t(),len,false); + LLConstant* clen = gIR->context().getConstantInt(DtoSize_t(),len,false); return new DImValue(type, DtoConstSlice(clen, arrptr)); } else if (dtype->ty == Tsarray) { @@ -473,17 +473,17 @@ if (cty->size() == 1) { uint8_t* str = (uint8_t*)string; std::string cont((char*)str, len); - _init = llvm::ConstantArray::get(cont, nullterm); + _init = gIR->context().getConstantArray(cont, nullterm); } else if (cty->size() == 2) { uint16_t* str = (uint16_t*)string; std::vector<LLConstant*> vals; vals.reserve(len+1); for(size_t i=0; i<len; ++i) { - vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; + vals.push_back(gIR->context().getConstantInt(ct, str[i], false));; } if (nullterm) - vals.push_back(llvm::ConstantInt::get(ct, 0, false)); + vals.push_back(gIR->context().getConstantInt(ct, 0, false)); _init = llvm::ConstantArray::get(at,vals); } else if (cty->size() == 4) { @@ -491,10 +491,10 @@ std::vector<LLConstant*> vals; vals.reserve(len+1); for(size_t i=0; i<len; ++i) { - vals.push_back(llvm::ConstantInt::get(ct, str[i], false));; + vals.push_back(gIR->context().getConstantInt(ct, str[i], false));; } if (nullterm) - vals.push_back(llvm::ConstantInt::get(ct, 0, false)); + vals.push_back(gIR->context().getConstantInt(ct, 0, false)); _init = llvm::ConstantArray::get(at,vals); } else @@ -508,7 +508,7 @@ llvm::GlobalValue::LinkageTypes _linkage = llvm::GlobalValue::InternalLinkage; llvm::GlobalVariable* gvar = new llvm::GlobalVariable(*gIR->module,_init->getType(),true,_linkage,_init,".str"); - llvm::ConstantInt* zero = llvm::ConstantInt::get(LLType::Int32Ty, 0, false); + llvm::ConstantInt* zero = gIR->context().getConstantInt(LLType::Int32Ty, 0, false); LLConstant* idxs[2] = { zero, zero }; LLConstant* arrptr = llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2); @@ -516,7 +516,7 @@ return arrptr; } else if (t->ty == Tarray) { - LLConstant* clen = llvm::ConstantInt::get(DtoSize_t(),len,false); + LLConstant* clen = gIR->context().getConstantInt(DtoSize_t(),len,false); return DtoConstSlice(clen, arrptr); } @@ -1525,7 +1525,7 @@ if (e1type->isintegral()) { assert(e2type->isintegral()); - LLValue* one = llvm::ConstantInt::get(val->getType(), 1, !e2type->isunsigned()); + LLValue* one = gIR->context().getConstantInt(val->getType(), 1, !e2type->isunsigned()); if (op == TOKplusplus) { post = llvm::BinaryOperator::CreateAdd(val,one,"tmp",p->scopebb()); } @@ -1536,8 +1536,8 @@ else if (e1type->ty == Tpointer) { assert(e2type->isintegral()); - LLConstant* minusone = llvm::ConstantInt::get(DtoSize_t(),(uint64_t)-1,true); - LLConstant* plusone = llvm::ConstantInt::get(DtoSize_t(),(uint64_t)1,false); + LLConstant* minusone = gIR->context().getConstantInt(DtoSize_t(),(uint64_t)-1,true); + LLConstant* plusone = gIR->context().getConstantInt(DtoSize_t(),(uint64_t)1,false); LLConstant* whichone = (op == TOKplusplus) ? plusone : minusone; post = llvm::GetElementPtrInst::Create(val, whichone, "tmp", p->scopebb()); } @@ -2146,7 +2146,7 @@ DValue* u = e1->toElem(p); LLValue* value = u->getRVal(); - LLValue* minusone = llvm::ConstantInt::get(value->getType(), (uint64_t)-1, true); + LLValue* minusone = gIR->context().getConstantInt(value->getType(), (uint64_t)-1, true); value = llvm::BinaryOperator::Create(llvm::Instruction::Xor, value, minusone, "tmp", p->scopebb()); return new DImValue(type, value); @@ -2501,7 +2501,7 @@ constvals[i] = llvm::cast<LLConstant>(values[i]); // return constant struct - return LLConstantStruct::get(constvals, sd->ir.irStruct->packed); + return gIR->context().getConstantStruct(constvals, sd->ir.irStruct->packed); } //////////////////////////////////////////////////////////////////////////////////////////