Mercurial > projects > ldc
diff gen/toobj.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 | f5ca6bbbf1d7 |
children | 7816aafeea3c |
line wrap: on
line diff
--- a/gen/toobj.cpp Tue May 13 16:16:50 2008 +0200 +++ b/gen/toobj.cpp Tue May 13 17:58:11 2008 +0200 @@ -190,11 +190,11 @@ std::vector<const llvm::Type*> argsTy; const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); assert(gIR->module->getFunction(name) == NULL); - llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); + llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); fn->setCallingConv(llvm::CallingConv::Fast); - llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); - LLVMBuilder builder(bb); + llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); + IRBuilder builder(bb); for (size_t i=0; i<n; i++) { llvm::Function* f = gIR->ctors[i]->ir.irFunc->func; @@ -224,11 +224,11 @@ std::vector<const llvm::Type*> argsTy; const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); assert(gIR->module->getFunction(name) == NULL); - llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); + llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); fn->setCallingConv(llvm::CallingConv::Fast); - llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); - LLVMBuilder builder(bb); + llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); + IRBuilder builder(bb); for (size_t i=0; i<n; i++) { llvm::Function* f = gIR->dtors[i]->ir.irFunc->func; @@ -258,11 +258,11 @@ std::vector<const llvm::Type*> argsTy; const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); assert(gIR->module->getFunction(name) == NULL); - llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); + llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); fn->setCallingConv(llvm::CallingConv::Fast); - llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); - LLVMBuilder builder(bb); + llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); + IRBuilder builder(bb); for (size_t i=0; i<n; i++) { llvm::Function* f = gIR->unitTests[i]->ir.irFunc->func;