Clean up the code generated when jumping out of inline asm and make label names more expressive.

This commit is contained in:
Frits van Bommel
2009-02-18 22:50:22 +01:00
parent e3d6b1c051
commit 8ce2c9773e
3 changed files with 8 additions and 8 deletions

View File

@@ -1224,13 +1224,13 @@ void LabelStatement::toIR(IRState* p)
llvm::BasicBlock* oldend = gIR->scopeend();
if (labelBB != NULL) {
labelBB->moveBefore(oldend);
labelBB->moveBefore(oldend);
} else {
labelBB = llvm::BasicBlock::Create("label", p->topfunc(), oldend);
labelBB = llvm::BasicBlock::Create("label_" + labelname, p->topfunc(), oldend);
}
if (!p->scopereturned())
llvm::BranchInst::Create(labelBB, p->scopebb());
llvm::BranchInst::Create(labelBB, p->scopebb());
p->scope() = IRScope(labelBB,oldend);
}