}
bool AsmPrinter::doFinalization(Module &M) {
+ // Emit final debug information.
+ if (TAI->doesSupportDebugInformation() || TAI->doesSupportExceptionHandling())
+ DW->EndModule();
+
// If the target wants to know about weak references, print them all.
if (TAI->getWeakRefDirective()) {
// FIXME: This is not lazy, it would be nice to only print weak references
}
- // Emit initial debug information.
- DW->EndModule();
-
// Funny Darwin hack: This flag tells the linker that no global symbols
// contain code that falls through to other global symbols (e.g. the obvious
// implementation of multiple entry points). If this doesn't occur, the
// linker can safely perform dead code stripping. Since LLVM never
// generates code that does this, it is always safe to set.
O << "\t.subsections_via_symbols\n";
- } else {
- // Emit final debug information for ELF.
- DW->EndModule();
}
return AsmPrinter::doFinalization(M);
I != E; ++I)
printModuleLevelGV(I);
- // Emit initial debug information.
- DW->EndModule();
-
return AsmPrinter::doFinalization(M);
}
I != E; ++I)
printModuleLevelGV(I);
- // TODO
-
- // Emit initial debug information.
- DW->EndModule();
-
return AsmPrinter::doFinalization(M);
}
}
}
-
- // Emit initial debug information.
- DW->EndModule();
-
// Funny Darwin hack: This flag tells the linker that no global symbols
// contain code that falls through to other global symbols (e.g. the obvious
// implementation of multiple entry points). If this doesn't occur, the
O << "\t.ascii \" -export:" << i->getKeyData() << "\"\n";
}
- // Emit final debug information.
- // FIXME: Sink into DoFinalization.
- if (TAI->doesSupportDebugInformation() || TAI->doesSupportExceptionHandling())
- DW->EndModule();
-
// Do common shutdown.
bool Changed = AsmPrinter::doFinalization(M);
emitGlobal(I);
}
- // Emit final debug information.
- DW->EndModule();
-
return AsmPrinter::doFinalization(M);
}