diff --git a/gen/functions.cpp b/gen/functions.cpp index ca2815cfc5..12641f3cb4 100644 --- a/gen/functions.cpp +++ b/gen/functions.cpp @@ -1045,20 +1045,20 @@ void DtoDefineFunction(FuncDeclaration* fd) // pass the previous block into this block gIR->DBuilder.EmitStopPoint(fd->endloc); if (func->getReturnType() == LLType::getVoidTy(gIR->context())) { - llvm::ReturnInst::Create(gIR->context(), gIR->scopebb()); + gIR->ir->CreateRetVoid(); } else if (!fd->isMain()) { AsmBlockStatement* asmb = fd->fbody->endsWithAsm(); if (asmb) { assert(asmb->abiret); - llvm::ReturnInst::Create(gIR->context(), asmb->abiret, bb); + gIR->ir->CreateRet(asmb->abiret); } else { - llvm::ReturnInst::Create(gIR->context(), llvm::UndefValue::get(func->getReturnType()), bb); + gIR->ir->CreateRet(llvm::UndefValue::get(func->getReturnType())); } } else - llvm::ReturnInst::Create(gIR->context(), LLConstant::getNullValue(func->getReturnType()), bb); + gIR->ir->CreateRet(LLConstant::getNullValue(func->getReturnType())); } gIR->DBuilder.EmitFuncEnd(fd); diff --git a/gen/statements.cpp b/gen/statements.cpp index 5061fbe36c..7142b64e00 100644 --- a/gen/statements.cpp +++ b/gen/statements.cpp @@ -404,7 +404,7 @@ public: DtoEnclosingHandlers(stmt->loc, NULL); // emit ret - llvm::ReturnInst::Create(gIR->context(), irs->scopebb()); + gIR->ir->CreateRetVoid(); } // the return type is not void, so this is a normal "register" return else @@ -464,7 +464,7 @@ public: // emit scopes DtoEnclosingHandlers(stmt->loc, NULL); - llvm::ReturnInst::Create(gIR->context(), v, irs->scopebb()); + gIR->ir->CreateRet(v); } } // no return value expression means it's a void function @@ -472,7 +472,7 @@ public: { assert(irs->topfunc()->getReturnType() == LLType::getVoidTy(gIR->context())); DtoEnclosingHandlers(stmt->loc, NULL); - llvm::ReturnInst::Create(gIR->context(), irs->scopebb()); + gIR->ir->CreateRetVoid(); } // the return terminated this basicblock, start a new one