comparison 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
comparison
equal deleted inserted replaced
204:11fe364b9a3e 205:9d44ec83acd1
188 name.append("6__ctorZ"); 188 name.append("6__ctorZ");
189 189
190 std::vector<const llvm::Type*> argsTy; 190 std::vector<const llvm::Type*> argsTy;
191 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); 191 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false);
192 assert(gIR->module->getFunction(name) == NULL); 192 assert(gIR->module->getFunction(name) == NULL);
193 llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); 193 llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module);
194 fn->setCallingConv(llvm::CallingConv::Fast); 194 fn->setCallingConv(llvm::CallingConv::Fast);
195 195
196 llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); 196 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
197 LLVMBuilder builder(bb); 197 IRBuilder builder(bb);
198 198
199 for (size_t i=0; i<n; i++) { 199 for (size_t i=0; i<n; i++) {
200 llvm::Function* f = gIR->ctors[i]->ir.irFunc->func; 200 llvm::Function* f = gIR->ctors[i]->ir.irFunc->func;
201 llvm::CallInst* call = builder.CreateCall(f,""); 201 llvm::CallInst* call = builder.CreateCall(f,"");
202 call->setCallingConv(llvm::CallingConv::Fast); 202 call->setCallingConv(llvm::CallingConv::Fast);
222 name.append("6__dtorZ"); 222 name.append("6__dtorZ");
223 223
224 std::vector<const llvm::Type*> argsTy; 224 std::vector<const llvm::Type*> argsTy;
225 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); 225 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false);
226 assert(gIR->module->getFunction(name) == NULL); 226 assert(gIR->module->getFunction(name) == NULL);
227 llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); 227 llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module);
228 fn->setCallingConv(llvm::CallingConv::Fast); 228 fn->setCallingConv(llvm::CallingConv::Fast);
229 229
230 llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); 230 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
231 LLVMBuilder builder(bb); 231 IRBuilder builder(bb);
232 232
233 for (size_t i=0; i<n; i++) { 233 for (size_t i=0; i<n; i++) {
234 llvm::Function* f = gIR->dtors[i]->ir.irFunc->func; 234 llvm::Function* f = gIR->dtors[i]->ir.irFunc->func;
235 llvm::CallInst* call = builder.CreateCall(f,""); 235 llvm::CallInst* call = builder.CreateCall(f,"");
236 call->setCallingConv(llvm::CallingConv::Fast); 236 call->setCallingConv(llvm::CallingConv::Fast);
256 name.append("10__unittestZ"); 256 name.append("10__unittestZ");
257 257
258 std::vector<const llvm::Type*> argsTy; 258 std::vector<const llvm::Type*> argsTy;
259 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false); 259 const llvm::FunctionType* fnTy = llvm::FunctionType::get(llvm::Type::VoidTy,argsTy,false);
260 assert(gIR->module->getFunction(name) == NULL); 260 assert(gIR->module->getFunction(name) == NULL);
261 llvm::Function* fn = new llvm::Function(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module); 261 llvm::Function* fn = llvm::Function::Create(fnTy, llvm::GlobalValue::InternalLinkage, name, gIR->module);
262 fn->setCallingConv(llvm::CallingConv::Fast); 262 fn->setCallingConv(llvm::CallingConv::Fast);
263 263
264 llvm::BasicBlock* bb = new llvm::BasicBlock("entry", fn); 264 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
265 LLVMBuilder builder(bb); 265 IRBuilder builder(bb);
266 266
267 for (size_t i=0; i<n; i++) { 267 for (size_t i=0; i<n; i++) {
268 llvm::Function* f = gIR->unitTests[i]->ir.irFunc->func; 268 llvm::Function* f = gIR->unitTests[i]->ir.irFunc->func;
269 llvm::CallInst* call = builder.CreateCall(f,""); 269 llvm::CallInst* call = builder.CreateCall(f,"");
270 call->setCallingConv(llvm::CallingConv::Fast); 270 call->setCallingConv(llvm::CallingConv::Fast);