summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Emit debug info for global variables first.Devang Patel2011-05-021-5/+5
| | | | | | | | | | | | | This works around a limitation in gdb which is reported by following inherit.exp test failures from gdb testsuite. gdb.cp/inherit.exp: print g_vB.vB::vb gdb.cp/inherit.exp: print g_vB.vB::vx gdb.cp/inherit.exp: print g_vC.vC::vc gdb.cp/inherit.exp: print g_vC.vC::vx gdb.cp/inherit.exp: print g_vD.vB::vb ... llvm-svn: 130702
* Teach dwarf writer to handle complex address expression for .debug_loc entries.Devang Patel2011-04-281-2/+34
| | | | | | | This fixes clang generated blocks' variables' debug info. Radar 9279956. llvm-svn: 130373
* Simplify handling of variables with complex address (i.e. blocks variables)Devang Patel2011-04-271-17/+25
| | | | llvm-svn: 130339
* Rename a local variable.Devang Patel2011-04-251-17/+21
| | | | llvm-svn: 130171
* Rename a method to match what it really does.Devang Patel2011-04-251-2/+3
| | | | | | s/addVariableAddress/addFrameVariableAddress/g llvm-svn: 130170
* Do not drop a variable's complex address if it is not based on frame base.Devang Patel2011-04-251-1/+5
| | | | | | Observed this while reading code, so I do not have a test case handy here. llvm-svn: 130167
* Let front-end tie subprogram declaration with subprogram definition directly.Devang Patel2011-04-221-38/+50
| | | | llvm-svn: 130028
* Do not leak argument's DbgVariables.Devang Patel2011-04-221-1/+1
| | | | llvm-svn: 130004
* Refactor.Devang Patel2011-04-211-30/+1
| | | | llvm-svn: 129938
* Add comment in output stream.Devang Patel2011-04-211-0/+3
| | | | llvm-svn: 129921
* Reduce clutter in asm output. Do not emit source location as comment for ↵Devang Patel2011-04-181-2/+1
| | | | | | each instruction. llvm-svn: 129715
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-151-2/+2
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Remove extra bytes that were added for gdb. We do not have good poiner to ↵Devang Patel2011-04-131-8/+1
| | | | | | understand actual reason behind this fixme. Spot checking suggest that newer gdb does not need this. llvm-svn: 129461
* Simplify. There is no need to use static variable.Devang Patel2011-04-121-3/+1
| | | | llvm-svn: 129406
* This mechanical patch moves type handling into CompileUnit from DwarfDebug. ↵Devang Patel2011-04-121-1139/+169
| | | | | | In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious. llvm-svn: 129402
* Refactor CompileUnit into a separate header.Devang Patel2011-04-121-98/+1
| | | | llvm-svn: 129367
* Simplify array bound checks and clarify comments. One element array can ↵Devang Patel2011-04-081-10/+7
| | | | | | have same non-zero number as lower bound as well as upper bound. llvm-svn: 129170
* Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.Devang Patel2011-04-081-3/+15
| | | | | | | | If lower bound is more then upper bound then consider it is an unbounded array. An array is unbounded if non-zero lower bound is same as upper bound. If lower bound and upper bound are zero than array has one element. llvm-svn: 129156
* Add support to encode function's template parameters.Devang Patel2011-04-051-0/+3
| | | | llvm-svn: 128947
* Refactor.Devang Patel2011-04-051-14/+17
| | | | llvm-svn: 128929
* Do not emit empty name.Devang Patel2011-04-051-1/+2
| | | | llvm-svn: 128914
* Collect and coalesce DBG_VALUE instructions before emitting the function.Jakob Stoklund Olesen2011-03-261-92/+161
| | | | | | | | | | | Correctly terminate the range of register DBG_VALUEs when the register is clobbered or when the basic block ends. The code is now ready to deal with variables that are sometimes in a register and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack slot'. llvm-svn: 128327
* Emit less labels for debug info and stop emitting .loc directives for ↵Jakob Stoklund Olesen2011-03-251-48/+31
| | | | | | | | | | | | DBG_VALUEs. The .dot directives don't need labels, that is a leftover from when we created line number info manually. Instructions following a DBG_VALUE can share its label since the DBG_VALUE doesn't produce any code. llvm-svn: 128284
* Keep track of directory namd and fIx regression caused by Rafael's patch ↵Devang Patel2011-03-241-11/+28
| | | | | | | | r119613. A better approach would be to move source id handling inside MC. llvm-svn: 128233
* Don't coalesce identical DBG_VALUE instructions prematurely.Jakob Stoklund Olesen2011-03-231-3/+1
| | | | | | | | Each of these instructions may have a RegsClobberInsn entry that can't be ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc merges entries. llvm-svn: 128155
* Reapply r128045 and r128051 with fixes.Jakob Stoklund Olesen2011-03-221-34/+71
| | | | | | | | | | | | | | | | This will extend the ranges of debug info variables in registers until they are clobbered. Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on the stack with DBG_VALUE instructions referring to variables in the frame pointer. This fixes the gdb test-suite failure. Fix 2: Don't trace through copies to physical registers setting up call arguments. These registers are call clobbered, and the source register is more likely to be a callee-saved register that can be extended through the call instruction. llvm-svn: 128114
* Revert r128045 and r128051, debug info enhancements.Andrew Trick2011-03-221-67/+30
| | | | | | Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem. llvm-svn: 128097
* Clear map after use.Jakob Stoklund Olesen2011-03-221-0/+1
| | | | | | This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32. llvm-svn: 128051
* Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.Jakob Stoklund Olesen2011-03-221-30/+66
| | | | | | | | | | These ranges get completely jumbled by the post-ra scheduler, and it is not really reasonable to expect it to make sense of them. Instead, teach DwarfDebug to notice when user variables in registers are clobbered, and terminate the ranges there. llvm-svn: 128045
* Revert r127757, "Patch to a fix dwarf relocation problem on ARM. One-line fixDaniel Dunbar2011-03-161-5/+2
| | | | | | | plus the test where it used to break.", which broke Clang self-host of a Debug+Asserts compiler, on OS X. llvm-svn: 127763
* Patch to a fix dwarf relocation problem on ARM. One-line fix plus the test ↵Renato Golin2011-03-161-2/+5
| | | | | | where it used to break. llvm-svn: 127757
* Fix typo.Devang Patel2011-03-031-1/+1
| | | | llvm-svn: 126962
* Fix thinko in previous check-in.Devang Patel2011-03-031-1/+3
| | | | | | Add comment. llvm-svn: 126959
* llvm::Function argument count is not a good indicator of how many arugments ↵Devang Patel2011-03-031-1/+4
| | | | | | does the function have at source level. If we need more space, just resize vector conservatively. This vector is only used once per function. llvm-svn: 126957
* If argument numbering is encoded in metadata then emit arguments' debug info ↵Devang Patel2011-03-011-2/+32
| | | | | | in that order. llvm-svn: 126794
* Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.Cameron Zwarich2011-02-251-11/+2
| | | | llvm-svn: 126488
* Enable DebugInfo support for COFF object files.Devang Patel2011-02-241-2/+11
| | | | | | Patch by Nathan Jeffords! llvm-svn: 126425
* Do not use DIFactory.Devang Patel2011-02-241-3/+4
| | | | llvm-svn: 126397
* Use DW_FORM_data2 for DW_AT_language and let users use ↵Devang Patel2011-02-231-1/+1
| | | | | | DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range. llvm-svn: 126339
OpenPOWER on IntegriCloud