diff options
author | Devang Patel <dpatel@apple.com> | 2009-01-09 19:11:50 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-01-09 19:11:50 +0000 |
commit | 6e7a1617ac4a34792d9097b8d3644b72f57a45f7 (patch) | |
tree | 5d32e2e0d083e70e3d21eae9826cb32a54411816 | |
parent | ed78f431edaabd7c488d326bd599abffc2b8a53c (diff) |
Request DwarfWriter. This will be used to handle dbg_* intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61999 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/SelectionDAG.h | 4 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index ea35e69a48..45dacfffa9 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -32,6 +32,7 @@ class AliasAnalysis; class TargetLowering; class TargetMachine; class MachineModuleInfo; +class DwarfWriter; class MachineFunction; class MachineConstantPoolValue; class FunctionLoweringInfo; @@ -76,6 +77,7 @@ class SelectionDAG { MachineFunction *MF; FunctionLoweringInfo &FLI; MachineModuleInfo *MMI; + DwarfWriter *DW; /// EntryNode - The starting token. SDNode EntryNode; @@ -122,7 +124,7 @@ public: /// init - Prepare this SelectionDAG to process code in the given /// MachineFunction. /// - void init(MachineFunction &mf, MachineModuleInfo *mmi); + void init(MachineFunction &mf, MachineModuleInfo *mmi, DwarfWriter *dw); /// clear - Clear state and free memory necessary to make this /// SelectionDAG ready to process a new block. diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 5da693cae8..c755eac951 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -772,9 +772,11 @@ SelectionDAG::SelectionDAG(TargetLowering &tli, FunctionLoweringInfo &fli) AllNodes.push_back(&EntryNode); } -void SelectionDAG::init(MachineFunction &mf, MachineModuleInfo *mmi) { +void SelectionDAG::init(MachineFunction &mf, MachineModuleInfo *mmi, + DwarfWriter *dw) { MF = &mf; MMI = mmi; + DW = dw; } SelectionDAG::~SelectionDAG() { diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 3221de064e..4eb7019881 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -36,6 +36,7 @@ #include "llvm/CodeGen/ScheduleDAGSDNodes.h" #include "llvm/CodeGen/SchedulerRegistry.h" #include "llvm/CodeGen/SelectionDAG.h" +#include "llvm/CodeGen/DwarfWriter.h" #include "llvm/Target/TargetRegisterInfo.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetFrameInfo.h" @@ -288,6 +289,7 @@ unsigned SelectionDAGISel::MakeReg(MVT VT) { void SelectionDAGISel::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<AliasAnalysis>(); AU.addRequired<GCModuleInfo>(); + AU.addRequired<DwarfWriter>(); AU.setPreservesAll(); } @@ -316,7 +318,8 @@ bool SelectionDAGISel::runOnFunction(Function &Fn) { FuncInfo->set(Fn, MF, EnableFastISel); MachineModuleInfo *MMI = getAnalysisToUpdate<MachineModuleInfo>(); - CurDAG->init(MF, MMI); + DwarfWriter *DW = getAnalysisToUpdate<DwarfWriter>(); + CurDAG->init(MF, MMI, DW); SDL->init(GFI, *AA); for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) |