Mercurial > projects > ldc
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; |