Mercurial > projects > ldc
diff gen/todebug.cpp @ 156:ccd07d9f2ce9 trunk
[svn r172] moving all IR state previously stored in Dsymbol into IrDsymbol and a Dsymbol->IrDsymbol map
author | ChristianK |
---|---|
date | Thu, 01 May 2008 13:05:53 +0200 |
parents | 7f92f477ff53 |
children | db9890b3fb64 |
line wrap: on
line diff
--- a/gen/todebug.cpp Tue Apr 29 21:33:50 2008 +0200 +++ b/gen/todebug.cpp Thu May 01 13:05:53 2008 +0200 @@ -114,12 +114,12 @@ llvm::GlobalVariable* DtoDwarfCompileUnit(Module* m) { - if (!m->irModule) - m->irModule = new IrModule(m); - else if (m->irModule->dwarfCompileUnit) + if (!gIR->irDsymbol[m].irModule) + gIR->irDsymbol[m].irModule = new IrModule(m); + else if (gIR->irDsymbol[m].irModule->dwarfCompileUnit) { - if (m->irModule->dwarfCompileUnit->getParent() == gIR->module) - return m->irModule->dwarfCompileUnit; + if (gIR->irDsymbol[m].irModule->dwarfCompileUnit->getParent() == gIR->module) + return gIR->irDsymbol[m].irModule->dwarfCompileUnit; } // create a valid compile unit constant for the current module @@ -148,7 +148,7 @@ llvm::GlobalVariable* gv = new llvm::GlobalVariable(GetDwarfCompileUnitType(), true, llvm::GlobalValue::InternalLinkage, c, "llvm.dbg.compile_unit", gIR->module); gv->setSection("llvm.metadata"); - m->irModule->dwarfCompileUnit = gv; + gIR->irDsymbol[m].irModule->dwarfCompileUnit = gv; return gv; } @@ -182,14 +182,14 @@ void DtoDwarfFuncStart(FuncDeclaration* fd) { - assert(gIR->irFunc[fd]->dwarfSubProg); - gIR->ir->CreateCall(gIR->module->getFunction("llvm.dbg.func.start"), dbgToArrTy(gIR->irFunc[fd]->dwarfSubProg)); + assert(gIR->irDsymbol[fd].irFunc->dwarfSubProg); + gIR->ir->CreateCall(gIR->module->getFunction("llvm.dbg.func.start"), dbgToArrTy(gIR->irDsymbol[fd].irFunc->dwarfSubProg)); } void DtoDwarfFuncEnd(FuncDeclaration* fd) { - assert(gIR->irFunc[fd]->dwarfSubProg); - gIR->ir->CreateCall(gIR->module->getFunction("llvm.dbg.region.end"), dbgToArrTy(gIR->irFunc[fd]->dwarfSubProg)); + assert(gIR->irDsymbol[fd].irFunc->dwarfSubProg); + gIR->ir->CreateCall(gIR->module->getFunction("llvm.dbg.region.end"), dbgToArrTy(gIR->irDsymbol[fd].irFunc->dwarfSubProg)); } //////////////////////////////////////////////////////////////////////////////////////////////////