diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-07-27 21:28:04 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-07-27 21:28:04 +0000 |
| commit | 9d0e762c814300401c876b594c9dfb2ff2e665e3 (patch) | |
| tree | 0215011406e45362b25cc8169d0e5037d7524b7f /llvm/lib/CodeGen | |
| parent | a87555aaa8fcb856a45d05154150686612862432 (diff) | |
| download | bcm5719-llvm-9d0e762c814300401c876b594c9dfb2ff2e665e3.tar.gz bcm5719-llvm-9d0e762c814300401c876b594c9dfb2ff2e665e3.zip | |
hoist MCContext/MCStreamer up to AsmPrinter since we're going to start creating
MCSections soon instead of Section for all targets, and we need something to
own them.
llvm-svn: 77252
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 792db22b2d9..0303f26d8ee 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -22,6 +22,8 @@ #include "llvm/CodeGen/MachineModuleInfo.h" #include "llvm/CodeGen/DwarfWriter.h" #include "llvm/Analysis/DebugInfo.h" +#include "llvm/MC/MCContext.h" +#include "llvm/MC/MCStreamer.h" #include "llvm/MC/MCInst.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ErrorHandling.h" @@ -47,6 +49,10 @@ AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm, const TargetAsmInfo *T, bool VDef) : MachineFunctionPass(&ID), FunctionNumber(0), O(o), TM(tm), TAI(T), TRI(tm.getRegisterInfo()), + + OutContext(*new MCContext()), + OutStreamer(*createAsmStreamer(OutContext, O)), + IsInTextSection(false), LastMI(0), LastFn(0), Counter(~0U), PrevDLT(0, ~0U, ~0U) { DW = 0; MMI = 0; @@ -61,6 +67,9 @@ AsmPrinter::~AsmPrinter() { for (gcp_iterator I = GCMetadataPrinters.begin(), E = GCMetadataPrinters.end(); I != E; ++I) delete I->second; + + delete &OutStreamer; + delete &OutContext; } /// SwitchToTextSection - Switch to the specified text section of the executable @@ -270,6 +279,8 @@ bool AsmPrinter::doFinalization(Module &M) { delete Mang; Mang = 0; DW = 0; MMI = 0; + + OutStreamer.Finish(); return false; } |

