Use dwarf writer to decide whether the module has debug info or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62184 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-01-13 21:25:00 +00:00
parent 4afe15b131
commit bb8c5959c8
3 changed files with 12 additions and 2 deletions

View File

@ -93,6 +93,9 @@ public:
/// getRecordSourceLineCount - Count source lines.
unsigned getRecordSourceLineCount();
/// hasDebugInfo - Return true if debug info intrinsics are seen in
/// this module.
bool hasDebugInfo();
};

View File

@ -4984,3 +4984,9 @@ unsigned DwarfWriter::RecordRegionEnd(GlobalVariable *V) {
unsigned DwarfWriter::getRecordSourceLineCount() {
return DD->getRecordSourceLineCount();
}
/// hasDebugInfo - Return true if debug info intrinsics are seen in
/// this module.
bool DwarfWriter::hasDebugInfo() {
return DD && DD->ShouldEmitDwarf();
}

View File

@ -23,6 +23,7 @@
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/DwarfWriter.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetData.h"
@ -2040,8 +2041,8 @@ bool SelectionDAG::isVerifiedDebugInfoDesc(SDValue Op) const {
if (GA->getOffset() != 0) return false;
GlobalVariable *GV = dyn_cast<GlobalVariable>(GA->getGlobal());
if (!GV) return false;
MachineModuleInfo *MMI = getMachineModuleInfo();
return MMI && MMI->hasDebugInfo() && MMI->isVerified(GV);
DwarfWriter *DW = getDwarfWriter();
return DW && DW->hasDebugInfo();
}