summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Distinguish between two copies of one inlined variable. Take 2.Devang Patel2011-08-101-3/+4
| | | | llvm-svn: 137253
* Revert unintentional parts of previous check-in.Devang Patel2011-08-101-5/+2
| | | | llvm-svn: 137249
* Start using LexicalScopes utility. No intetional functionality change.Devang Patel2011-08-101-488/+101
| | | | llvm-svn: 137246
* Simplify by creating parent first.Devang Patel2011-08-081-19/+14
| | | | llvm-svn: 137056
* Temporarily revert r135528 which distinguishes between two copies of oneChandler Carruth2011-08-051-6/+2
| | | | | | | | | | | | | | | | | | | inlined variable, based on the discussion in PR10542. This explodes the runtime of several passes down the pipeline due to a large number of "copies" remaining live across a large function. This only shows up with both debug and opt, but when it does it creates a many-minute compile when self-hosting LLVM+Clang. There are several other cases that show these types of regressions. All of this is tracked in PR10542, and progress is being made on fixing the issue. Once its addressed, the re-instated, but until then this restores the performance for self-hosting and other opt+debug builds. Devang, let me know if this causes any trouble, or impedes fixing it in any way, and thanks for working on this! llvm-svn: 136953
* Some revisions to Devang's change r136759 for merged global debug info.Bob Wilson2011-08-031-23/+9
| | | | llvm-svn: 136802
* Use byte offset, instead of element number, to access merged global.Devang Patel2011-08-031-3/+21
| | | | llvm-svn: 136759
* Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow someNick Lewycky2011-07-291-23/+21
| | | | | | lines. No functionality change. llvm-svn: 136458
* Remove outdated FIXME comment.Devang Patel2011-07-271-1/+0
| | | | llvm-svn: 136275
* It is quiet possible that inlined function body is split into multiple ↵Devang Patel2011-07-271-16/+41
| | | | | | chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry. llvm-svn: 136196
* While extracting lexical scopes from machine instruction stream, work on one ↵Devang Patel2011-07-261-9/+9
| | | | | | machine basic block at a time. llvm-svn: 136106
* Refactor.Devang Patel2011-07-201-30/+40
| | | | llvm-svn: 135633
* There are two ways to map a variable to its lexical scope. Lexical scope ↵Devang Patel2011-07-201-2/+10
| | | | | | information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. llvm-svn: 135629
* Distinguish between two copies of one inlined variable.Devang Patel2011-07-191-2/+6
| | | | llvm-svn: 135528
* Use DebugLoc directly to map inlined functions' instructions to respective ↵Devang Patel2011-07-151-4/+6
| | | | | | lexical scope. llvm-svn: 135302
* Eliminate redundant map.Devang Patel2011-07-151-8/+3
| | | | llvm-svn: 135278
* Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.Evan Cheng2011-07-151-13/+5
| | | | llvm-svn: 135254
* Do not get confused by multiple empty lexical scopes inlined at one location. Devang Patel2011-07-151-5/+13
| | | | llvm-svn: 135232
* Refactor.Devang Patel2011-07-141-16/+7
| | | | llvm-svn: 135212
* Eliminate redundant LLVMContext argument.Devang Patel2011-07-141-8/+10
| | | | | | Improve DbgScope->dump() output. llvm-svn: 135207
* Simplify.Devang Patel2011-07-141-13/+3
| | | | llvm-svn: 135127
* Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as ↵Devang Patel2011-07-141-17/+13
| | | | | | much as possible. llvm-svn: 135124
* Simplify. Compile unit check inside hasValidLocation() did not add any value.Devang Patel2011-07-141-26/+10
| | | | llvm-svn: 135118
* Fix typo in DEBUG message.Devang Patel2011-07-141-2/+2
| | | | llvm-svn: 135111
* Add DEBUG messages.Devang Patel2011-07-141-0/+5
| | | | llvm-svn: 135110
* Refactor.Devang Patel2011-07-081-28/+29
| | | | llvm-svn: 134703
* Make provision to have floating point constants in .debug_loc expressions.Devang Patel2011-07-081-37/+51
| | | | llvm-svn: 134702
* Add DEBUG message.Devang Patel2011-07-071-0/+2
| | | | llvm-svn: 134643
* Add DEBUG messages.Devang Patel2011-07-071-2/+9
| | | | llvm-svn: 134572
* Remove dead code.Devang Patel2011-07-061-2/+0
| | | | llvm-svn: 134561
* Handle debug info for i128 constants.Devang Patel2011-06-241-17/+21
| | | | llvm-svn: 133821
* Use path API for path concatenation.Benjamin Kramer2011-06-051-5/+3
| | | | llvm-svn: 132668
* A DBG_VALUE that truncates a range does not start another dbg value range.Devang Patel2011-06-011-0/+5
| | | | llvm-svn: 132433
* Do not drop constant values when a variable's content is described using ↵Devang Patel2011-06-011-12/+34
| | | | | | .debug_loc entries. llvm-svn: 132427
* Include global types, that are referenced through local variables, in ↵Devang Patel2011-05-311-6/+1
| | | | | | debug_pubtypes list. llvm-svn: 132371
* Make size computation less brittle.Rafael Espindola2011-05-271-10/+6
| | | | llvm-svn: 132222
* Select DW_AT_const_value size based on variable size.Devang Patel2011-05-271-2/+3
| | | | llvm-svn: 132193
* Fix debug info for blocks' variable.Devang Patel2011-05-241-6/+21
| | | | llvm-svn: 131940
* Remove unnecessary comment.Devang Patel2011-05-231-1/+0
| | | | llvm-svn: 131936
* Identify end of prologue (and beginning of function body) using ↵Devang Patel2011-05-111-43/+34
| | | | | | DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
* Rename DwarfRequiresRelocationForStmtList toRafael Espindola2011-05-101-1/+1
| | | | | | DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList. llvm-svn: 131148
* Do not ignore InlinedAt while walking up scope chain to find subprogram node. Devang Patel2011-05-091-1/+8
| | | | llvm-svn: 131106
* Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from ↵Devang Patel2011-05-061-34/+0
| | | | | | DwarfDebug.cpp to DwarfCompileUnit.cpp llvm-svn: 130991
* Dead code elimination.Rafael Espindola2011-05-061-99/+1
| | | | llvm-svn: 130984
* Remove little used statistical counter.Devang Patel2011-05-051-29/+0
| | | | llvm-svn: 130955
* If debug info for inlined function is missing then handle it gracefully.Devang Patel2011-05-051-3/+5
| | | | llvm-svn: 130933
* Producing a DW_FORM_addr for DW_AT_stmt_list is probably correct, butRafael Espindola2011-05-041-2/+2
| | | | | | | | | | | it is both inefficient and unexpected by dwarfdump. Change to a DW_FORM_data4. While in here, change the predicate name to reflect that the position is not really absolute (it is an offset), just that the linker needs a relocation. llvm-svn: 130846
* Tighten up check for empty (i.e. no meaningful debug info) module. This ↵Devang Patel2011-05-041-15/+17
| | | | | | fixes dwarf-die2.c test case from gcc test suite. llvm-svn: 130842
* Even if the subprogram is going to use AT_specification, emit ↵Devang Patel2011-05-031-5/+5
| | | | | | DW_AT_MIPS_linkage_name. This helps gdb and fixes var-path-expr.exp regression reported by gdb testsuite. llvm-svn: 130794
* If the front end has emitted llvm.dbg.cu and other debug info anchors (clang ↵Devang Patel2011-05-031-27/+49
| | | | | | does it now) then use them directly. This saves one scan of entire module, to collect debug info, which in turns saves few machine cycles at compile time. llvm-svn: 130759
OpenPOWER on IntegriCloud