Mercurial > projects > ldc
diff gen/arrays.cpp @ 205:9d44ec83acd1 trunk
[svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 .
author | lindquist |
---|---|
date | Tue, 13 May 2008 17:58:11 +0200 |
parents | e881c9b1c738 |
children | f66219e0d530 |
line wrap: on
line diff
--- a/gen/arrays.cpp Tue May 13 16:16:50 2008 +0200 +++ b/gen/arrays.cpp Tue May 13 17:58:11 2008 +0200 @@ -248,7 +248,7 @@ llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, funcname); assert(fn); Logger::cout() << "calling array init function: " << *fn <<'\n'; - llvm::CallInst* call = new llvm::CallInst(fn, args.begin(), args.end(), "", gIR->scopebb()); + llvm::CallInst* call = llvm::CallInst::Create(fn, args.begin(), args.end(), "", gIR->scopebb()); call->setCallingConv(llvm::CallingConv::C); } @@ -444,7 +444,7 @@ llargs[2] = sz1; llargs[3] = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0, false); - new llvm::CallInst(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); + llvm::CallInst::Create(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); } void DtoArrayCopyToSlice(DSliceValue* dst, DValue* src) @@ -464,7 +464,7 @@ llargs[2] = sz1; llargs[3] = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0, false); - new llvm::CallInst(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); + llvm::CallInst::Create(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -487,7 +487,7 @@ llargs[2] = n; llargs[3] = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0, false); - new llvm::CallInst(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); + llvm::CallInst::Create(fn, llargs.begin(), llargs.end(), "", gIR->scopebb()); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -579,7 +579,7 @@ DSliceValue* slice = DtoResizeDynArray(array->getType(), array, newdim); llvm::Value* ptr = slice->ptr; - ptr = new llvm::GetElementPtrInst(ptr, idx, "tmp", gIR->scopebb()); + ptr = llvm::GetElementPtrInst::Create(ptr, idx, "tmp", gIR->scopebb()); DValue* dptr = new DVarValue(exp->type, ptr, true); @@ -897,7 +897,7 @@ args.push_back(llvm::ConstantInt::get(DtoSize_t(), nsz, false)); llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_array_cast_len"); - return new llvm::CallInst(fn, args.begin(), args.end(), "tmp", gIR->scopebb()); + return llvm::CallInst::Create(fn, args.begin(), args.end(), "tmp", gIR->scopebb()); } //////////////////////////////////////////////////////////////////////////////////////////