diff gen/arrays.cpp @ 1013:8c73ff5f69e0

Use llvm::CallSite instead of custom CallOrInvoke class.
author Frits van Bommel <fvbommel wxs.nl>
date Sat, 28 Feb 2009 22:16:52 +0100
parents 03d7c4aac654
children 3d1b16dabd25
line wrap: on
line diff
--- a/gen/arrays.cpp	Sat Feb 28 19:58:30 2009 +0100
+++ b/gen/arrays.cpp	Sat Feb 28 22:16:52 2009 +0100
@@ -200,8 +200,8 @@
     assert(fn);
     if (Logger::enabled())
         Logger::cout() << "calling array init function: " << *fn <<'\n';
-    CallOrInvoke* call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end());
-    call->setCallingConv(llvm::CallingConv::C);
+    LLCallSite call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end());
+    call.setCallingConv(llvm::CallingConv::C);
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////
@@ -392,7 +392,7 @@
     LLFunction* fn = LLVM_D_GetRuntimeFunction(gIR->module, fnname);
 
     // call allocator
-    LLValue* newptr = gIR->CreateCallOrInvoke2(fn, arrayTypeInfo, arrayLen, ".gc_mem")->get();
+    LLValue* newptr = gIR->CreateCallOrInvoke2(fn, arrayTypeInfo, arrayLen, ".gc_mem").getInstruction();
 
     // cast to wanted type
     const LLType* dstType = DtoType(arrayType)->getContainedType(1);
@@ -435,7 +435,7 @@
     }
 
     // call allocator
-    LLValue* newptr = gIR->CreateCallOrInvoke3(fn, arrayTypeInfo, DtoConstSize_t(ndims), dimsArg, ".gc_mem")->get();
+    LLValue* newptr = gIR->CreateCallOrInvoke3(fn, arrayTypeInfo, DtoConstSize_t(ndims), dimsArg, ".gc_mem").getInstruction();
 
     // cast to wanted type
     const LLType* dstType = DtoType(arrayType)->getContainedType(1);
@@ -476,7 +476,7 @@
         Logger::cout() << "arrPtr = " << *arrPtr << '\n';
     args.push_back(DtoBitCast(arrPtr, fn->getFunctionType()->getParamType(3), "tmp"));
 
-    LLValue* newptr = gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), ".gc_mem")->get();
+    LLValue* newptr = gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), ".gc_mem").getInstruction();
     if (newptr->getType() != arrPtr->getType())
         newptr = DtoBitCast(newptr, arrPtr->getType(), ".gc_mem");
 
@@ -684,9 +684,9 @@
         args.push_back(DtoBitCast(tival, fn->getFunctionType()->getParamType(2)));
     }
 
-    CallOrInvoke* call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), "tmp");
+    LLCallSite call = gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), "tmp");
 
-    return call->get();
+    return call.getInstruction();
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////
@@ -780,7 +780,7 @@
     args.push_back(llvm::ConstantInt::get(DtoSize_t(), nsz, false));
 
     LLFunction* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_array_cast_len");
-    return gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), "tmp")->get();
+    return gIR->CreateCallOrInvoke(fn, args.begin(), args.end(), "tmp").getInstruction();
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////
@@ -993,7 +993,7 @@
 
     // call
     llvm::Function* errorfn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_array_bounds");
-    CallOrInvoke* call = gIR->CreateCallOrInvoke(errorfn, args.begin(), args.end());
+    gIR->CreateCallOrInvoke(errorfn, args.begin(), args.end());
 
     // the function does not return
     gIR->ir->CreateUnreachable();