1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

add a new hook to allow targets to splat stuff at the end of the file.

Overriding doFinalization is pretty lame.

llvm-svn: 82268
This commit is contained in:
Chris Lattner 2009-09-18 20:17:03 +00:00
parent 7d68f8de7f
commit f50872c2c4
2 changed files with 9 additions and 0 deletions

View File

@ -169,6 +169,10 @@ namespace llvm {
/// call this implementation.
bool doInitialization(Module &M);
/// EmitEndOfAsmFile - This virtual method can be overridden by targets that
/// want to emit something at the end of their file.
virtual void EmitEndOfAsmFile(Module &M) {}
/// doFinalization - Shut down the asmprinter. If you override this in your
/// pass, you must make sure to call it explicitly.
bool doFinalization(Module &M);

View File

@ -208,6 +208,11 @@ bool AsmPrinter::doFinalization(Module &M) {
if (MAI->getNonexecutableStackDirective())
O << MAI->getNonexecutableStackDirective() << '\n';
// Allow the target to emit any magic that it wants at the end of the file,
// after everything else has gone out.
EmitEndOfAsmFile(M);
delete Mang; Mang = 0;
DW = 0; MMI = 0;