diff options
author | Devang Patel <dpatel@apple.com> | 2009-04-13 18:13:16 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-04-13 18:13:16 +0000 |
commit | 48c7fa21a3b5e491bdf0ffc41fe7aa9687450c5f (patch) | |
tree | 05d4b47e7162da921a8539db4fb80c1fe9acaff6 /lib/CodeGen/AsmPrinter/DwarfWriter.cpp | |
parent | 0f7fef3872a37d09c806f52f1d03d74ebc73c171 (diff) |
Right now, Debugging information to encode scopes (DW_TAG_lexical_block) relies on DBG_LABEL. Unfortunately this intefers with the quality of optimized code.
This patch updates dwarf writer to encode scoping information in DWARF only in FastISel mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfWriter.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index c619bc5748..c4191e523c 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -3296,7 +3296,7 @@ public: } /// ValidDebugInfo - Return true if V represents valid debug info value. - bool ValidDebugInfo(Value *V) { + bool ValidDebugInfo(Value *V, bool FastISel) { if (!V) return false; @@ -3335,6 +3335,11 @@ public: case DW_TAG_subprogram: assert(DISubprogram(GV).Verify() && "Invalid DebugInfo value"); break; + case DW_TAG_lexical_block: + /// FIXME. This interfers with the qualitfy of generated code when + /// during optimization. + if (FastISel == false) + return false; default: break; } @@ -4621,8 +4626,8 @@ void DwarfWriter::EndFunction(MachineFunction *MF) { } /// ValidDebugInfo - Return true if V represents valid debug info value. -bool DwarfWriter::ValidDebugInfo(Value *V) { - return DD && DD->ValidDebugInfo(V); +bool DwarfWriter::ValidDebugInfo(Value *V, bool FastISel) { + return DD && DD->ValidDebugInfo(V, FastISel); } /// RecordSourceLine - Records location information and associates it with a |