Mercurial > projects > ldc
diff gen/asmstmt.cpp @ 1571:8d086d552909
IntegerType is now contextifed.
Requires llvm >= 78969. resistor says this will be the last context API change :)
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Fri, 14 Aug 2009 00:39:18 +0200 |
parents | d6e8d5db259f |
children | 40bd4a0d4870 |
line wrap: on
line diff
--- a/gen/asmstmt.cpp Thu Aug 06 16:02:14 2009 +0200 +++ b/gen/asmstmt.cpp Fri Aug 14 00:39:18 2009 +0200 @@ -703,7 +703,7 @@ if (asmblock->retn) retty = asmblock->retty; else - retty = llvm::Type::VoidTy; + retty = llvm::Type::getVoidTy(gIR->context()); // build argument types std::vector<const LLType*> types; @@ -732,7 +732,7 @@ llvm::InlineAsm* ia = llvm::InlineAsm::get(fty, code, out_c, true); llvm::CallInst* call = p->ir->CreateCall(ia, args.begin(), args.end(), - retty == LLType::VoidTy ? "" : "asm"); + retty == LLType::getVoidTy(gIR->context()) ? "" : "asm"); if (Logger::enabled()) Logger::cout() << "Complete asm statement: " << *call << '\n'; @@ -759,7 +759,7 @@ // make new blocks llvm::BasicBlock* oldend = gIR->scopeend(); - llvm::BasicBlock* bb = llvm::BasicBlock::Create("afterasmgotoforwarder", p->topfunc(), oldend); + llvm::BasicBlock* bb = llvm::BasicBlock::Create(gIR->context(), "afterasmgotoforwarder", p->topfunc(), oldend); llvm::LoadInst* val = p->ir->CreateLoad(jump_target, "__llvm_jump_target_value"); llvm::SwitchInst* sw = p->ir->CreateSwitch(val, bb, gotoToVal.size()); @@ -768,8 +768,8 @@ std::map<Identifier*, int>::iterator it, end = gotoToVal.end(); for(it = gotoToVal.begin(); it != end; ++it) { - llvm::BasicBlock* casebb = llvm::BasicBlock::Create("case", p->topfunc(), bb); - sw->addCase(LLConstantInt::get(llvm::IntegerType::get(32), it->second), casebb); + llvm::BasicBlock* casebb = llvm::BasicBlock::Create(gIR->context(), "case", p->topfunc(), bb); + sw->addCase(LLConstantInt::get(llvm::IntegerType::get(gIR->context(), 32), it->second), casebb); p->scope() = IRScope(casebb,bb); DtoGoto(loc, it->first, enclosingFinally);