selection dag doesn't need DwarfWriter, remove some tendrils.

llvm-svn: 100382
This commit is contained in:
Chris Lattner 2010-04-05 02:23:33 +00:00
parent 7cfa70e9b3
commit ab5dc34351
4 changed files with 6 additions and 19 deletions

View File

@ -29,7 +29,6 @@
namespace llvm {
class AliasAnalysis;
class DwarfWriter;
class FunctionLoweringInfo;
class MachineConstantPoolValue;
class MachineFunction;
@ -123,7 +122,6 @@ class SelectionDAG {
MachineFunction *MF;
FunctionLoweringInfo &FLI;
MachineModuleInfo *MMI;
DwarfWriter *DW;
LLVMContext* Context;
/// EntryNode - The starting token.
@ -182,7 +180,7 @@ public:
/// init - Prepare this SelectionDAG to process code in the given
/// MachineFunction.
///
void init(MachineFunction &mf, MachineModuleInfo *mmi, DwarfWriter *dw);
void init(MachineFunction &mf, MachineModuleInfo *mmi);
/// clear - Clear state and free memory necessary to make this
/// SelectionDAG ready to process a new block.
@ -194,7 +192,6 @@ public:
TargetLowering &getTargetLoweringInfo() const { return TLI; }
FunctionLoweringInfo &getFunctionLoweringInfo() const { return FLI; }
MachineModuleInfo *getMachineModuleInfo() const { return MMI; }
DwarfWriter *getDwarfWriter() const { return DW; }
LLVMContext *getContext() const {return Context; }
/// viewGraph - Pop up a GraphViz/gv window with the DAG rendered using 'dot'.

View File

@ -793,7 +793,7 @@ unsigned SelectionDAG::getEVTAlignment(EVT VT) const {
// EntryNode could meaningfully have debug info if we can find it...
SelectionDAG::SelectionDAG(TargetLowering &tli, FunctionLoweringInfo &fli)
: TLI(tli), FLI(fli), DW(0),
: TLI(tli), FLI(fli),
EntryNode(ISD::EntryToken, DebugLoc(), getVTList(MVT::Other)),
Root(getEntryNode()), Ordering(0) {
AllNodes.push_back(&EntryNode);
@ -801,11 +801,9 @@ SelectionDAG::SelectionDAG(TargetLowering &tli, FunctionLoweringInfo &fli)
DbgInfo = new SDDbgInfo();
}
void SelectionDAG::init(MachineFunction &mf, MachineModuleInfo *mmi,
DwarfWriter *dw) {
void SelectionDAG::init(MachineFunction &mf, MachineModuleInfo *mmi) {
MF = &mf;
MMI = mmi;
DW = dw;
Context = &mf.getFunction()->getContext();
}

View File

@ -40,7 +40,6 @@
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/DwarfWriter.h"
#include "llvm/Analysis/DebugInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetData.h"
@ -3798,9 +3797,6 @@ SelectionDAGBuilder::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
if (OptLevel != CodeGenOpt::None)
// FIXME: Variable debug info is not supported here.
return 0;
DwarfWriter *DW = DAG.getDwarfWriter();
if (!DW)
return 0;
DbgDeclareInst &DI = cast<DbgDeclareInst>(I);
if (!DIDescriptor::ValidDebugInfo(DI.getVariable(), CodeGenOpt::None))
return 0;
@ -3822,14 +3818,11 @@ SelectionDAGBuilder::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
int FI = SI->second;
if (MachineModuleInfo *MMI = DAG.getMachineModuleInfo())
if (!DI.getDebugLoc().isUnknown())
if (!DI.getDebugLoc().isUnknown() && MMI->hasDebugInfo())
MMI->setVariableDbgInfo(Variable, FI, DI.getDebugLoc());
return 0;
}
case Intrinsic::dbg_value: {
DwarfWriter *DW = DAG.getDwarfWriter();
if (!DW)
return 0;
DbgValueInst &DI = cast<DbgValueInst>(I);
if (!DIDescriptor::ValidDebugInfo(DI.getVariable(), CodeGenOpt::None))
return 0;
@ -3875,7 +3868,7 @@ SelectionDAGBuilder::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
int FI = SI->second;
if (MachineModuleInfo *MMI = DAG.getMachineModuleInfo())
if (!DI.getDebugLoc().isUnknown())
if (!DI.getDebugLoc().isUnknown() && MMI->hasDebugInfo())
MMI->setVariableDbgInfo(Variable, FI, DI.getDebugLoc());
return 0;
}

View File

@ -332,8 +332,7 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
DEBUG(dbgs() << "\n\n\n=== " << Fn.getName() << "\n");
MachineModuleInfo *MMI = getAnalysisIfAvailable<MachineModuleInfo>();
DwarfWriter *DW = getAnalysisIfAvailable<DwarfWriter>();
CurDAG->init(*MF, MMI, DW);
CurDAG->init(*MF, MMI);
FuncInfo->set(Fn, *MF, EnableFastISel);
SDB->init(GFI, *AA);