diff options
author | Devang Patel <dpatel@apple.com> | 2009-01-08 23:40:34 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-01-08 23:40:34 +0000 |
commit | aa1e84356d47c78a270b0ebceb434a401e59a5b5 (patch) | |
tree | ba35a1e9f588e7ef801a8f2432cd92f1a63a1435 /lib/CodeGen | |
parent | d2826ae8c01b25967a1d9ef0c6486720c45f7bc7 (diff) | |
download | external_llvm-aa1e84356d47c78a270b0ebceb434a401e59a5b5.zip external_llvm-aa1e84356d47c78a270b0ebceb434a401e59a5b5.tar.gz external_llvm-aa1e84356d47c78a270b0ebceb434a401e59a5b5.tar.bz2 |
Convert DwarfWriter into a pass.
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index 16d1531..6293590 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -43,6 +43,10 @@ using namespace llvm; using namespace llvm::dwarf; +static RegisterPass<DwarfWriter> +X("dwarfwriter", "DWARF Information Writer"); +char DwarfWriter::ID = 0; + namespace llvm { //===----------------------------------------------------------------------===// @@ -4897,10 +4901,7 @@ void DIE::dump() { /// DwarfWriter Implementation /// -DwarfWriter::DwarfWriter(raw_ostream &OS, AsmPrinter *A, - const TargetAsmInfo *T) { - DE = new DwarfException(OS, A, T); - DD = new DwarfDebug(OS, A, T); +DwarfWriter::DwarfWriter() : ImmutablePass(&ID), DD(NULL), DE(NULL) { } DwarfWriter::~DwarfWriter() { @@ -4908,18 +4909,18 @@ DwarfWriter::~DwarfWriter() { delete DD; } -/// SetModuleInfo - Set machine module info when it's known that pass manager -/// has created it. Set by the target AsmPrinter. -void DwarfWriter::SetModuleInfo(MachineModuleInfo *MMI) { - DD->SetModuleInfo(MMI); - DE->SetModuleInfo(MMI); -} - /// BeginModule - Emit all Dwarf sections that should come prior to the /// content. -void DwarfWriter::BeginModule(Module *M) { +void DwarfWriter::BeginModule(Module *M, + MachineModuleInfo *MMI, + raw_ostream &OS, AsmPrinter *A, + const TargetAsmInfo *T) { + DE = new DwarfException(OS, A, T); + DD = new DwarfDebug(OS, A, T); DE->BeginModule(M); DD->BeginModule(M); + DD->SetModuleInfo(MMI); + DE->SetModuleInfo(MMI); } /// EndModule - Emit all Dwarf sections that should come after the content. |