comparison gen/toobj.cpp @ 315:a9697749e898 trunk

[svn r336] Made sure calls within a landing pad area are invokes. Nested trys still need some consideration.
author ChristianK
date Thu, 03 Jul 2008 22:05:45 +0200
parents 665b81613475
children 163cad969791
comparison
equal deleted inserted replaced
314:8d98e42ece93 315:a9697749e898
218 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); 218 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
219 IRBuilder builder(bb); 219 IRBuilder builder(bb);
220 220
221 for (size_t i=0; i<n; i++) { 221 for (size_t i=0; i<n; i++) {
222 llvm::Function* f = gIR->ctors[i]->ir.irFunc->func; 222 llvm::Function* f = gIR->ctors[i]->ir.irFunc->func;
223 llvm::CallInst* call = builder.CreateCall(f,""); 223 CallOrInvoke* call = gIR->CreateCallOrInvoke(f);
224 call->setCallingConv(llvm::CallingConv::Fast); 224 call->setCallingConv(llvm::CallingConv::Fast);
225 } 225 }
226 226
227 builder.CreateRetVoid(); 227 builder.CreateRetVoid();
228 return fn; 228 return fn;
252 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); 252 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
253 IRBuilder builder(bb); 253 IRBuilder builder(bb);
254 254
255 for (size_t i=0; i<n; i++) { 255 for (size_t i=0; i<n; i++) {
256 llvm::Function* f = gIR->dtors[i]->ir.irFunc->func; 256 llvm::Function* f = gIR->dtors[i]->ir.irFunc->func;
257 llvm::CallInst* call = builder.CreateCall(f,""); 257 CallOrInvoke* call = gIR->CreateCallOrInvoke(f);
258 call->setCallingConv(llvm::CallingConv::Fast); 258 call->setCallingConv(llvm::CallingConv::Fast);
259 } 259 }
260 260
261 builder.CreateRetVoid(); 261 builder.CreateRetVoid();
262 return fn; 262 return fn;
286 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn); 286 llvm::BasicBlock* bb = llvm::BasicBlock::Create("entry", fn);
287 IRBuilder builder(bb); 287 IRBuilder builder(bb);
288 288
289 for (size_t i=0; i<n; i++) { 289 for (size_t i=0; i<n; i++) {
290 llvm::Function* f = gIR->unitTests[i]->ir.irFunc->func; 290 llvm::Function* f = gIR->unitTests[i]->ir.irFunc->func;
291 llvm::CallInst* call = builder.CreateCall(f,""); 291 CallOrInvoke* call = gIR->CreateCallOrInvoke(f);
292 call->setCallingConv(llvm::CallingConv::Fast); 292 call->setCallingConv(llvm::CallingConv::Fast);
293 } 293 }
294 294
295 builder.CreateRetVoid(); 295 builder.CreateRetVoid();
296 return fn; 296 return fn;