Devang Patel
ccc8ba373c
Eliminate redundant LLVMContext argument.
...
Improve DbgScope->dump() output.
llvm-svn: 135207
2011-07-14 22:30:56 +00:00
Devang Patel
39f6e21de3
Simplify.
...
llvm-svn: 135127
2011-07-14 01:52:45 +00:00
Devang Patel
1856a523ea
Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as much as possible.
...
llvm-svn: 135124
2011-07-14 01:14:57 +00:00
Devang Patel
cb54f643e9
Simplify. Compile unit check inside hasValidLocation() did not add any value.
...
llvm-svn: 135118
2011-07-14 00:20:24 +00:00
Devang Patel
8d1207dc18
Fix typo in DEBUG message.
...
llvm-svn: 135111
2011-07-14 00:04:53 +00:00
Devang Patel
b9fe59ad12
Add DEBUG messages.
...
llvm-svn: 135110
2011-07-14 00:03:58 +00:00
Devang Patel
31505d2d78
Refactor.
...
llvm-svn: 134703
2011-07-08 17:09:57 +00:00
Devang Patel
756482ca98
Make provision to have floating point constants in .debug_loc expressions.
...
llvm-svn: 134702
2011-07-08 16:49:43 +00:00
Devang Patel
f97af90b4a
Add DEBUG message.
...
llvm-svn: 134643
2011-07-07 21:44:42 +00:00
Devang Patel
a30ca05040
Add DEBUG messages.
...
llvm-svn: 134572
2011-07-07 00:14:27 +00:00
Devang Patel
94f4eec7e4
Remove dead code.
...
llvm-svn: 134561
2011-07-06 23:26:18 +00:00
Devang Patel
91fee59b74
Handle debug info for i128 constants.
...
llvm-svn: 133821
2011-06-24 20:46:11 +00:00
Benjamin Kramer
3bd28deb10
Use path API for path concatenation.
...
llvm-svn: 132668
2011-06-05 14:36:47 +00:00
Devang Patel
03708bbb55
A DBG_VALUE that truncates a range does not start another dbg value range.
...
llvm-svn: 132433
2011-06-01 23:00:17 +00:00
Devang Patel
1a3058d727
Do not drop constant values when a variable's content is described using .debug_loc entries.
...
llvm-svn: 132427
2011-06-01 22:03:25 +00:00
Devang Patel
a9f6a46390
Include global types, that are referenced through local variables, in debug_pubtypes list.
...
llvm-svn: 132371
2011-05-31 22:56:51 +00:00
Rafael Espindola
2230168a0f
Make size computation less brittle.
...
llvm-svn: 132222
2011-05-27 22:05:41 +00:00
Devang Patel
62a7038a9f
Select DW_AT_const_value size based on variable size.
...
llvm-svn: 132193
2011-05-27 16:45:18 +00:00
Devang Patel
5bce258c3d
Fix debug info for blocks' variable.
...
llvm-svn: 131940
2011-05-24 00:22:25 +00:00
Devang Patel
8a90970a54
Remove unnecessary comment.
...
llvm-svn: 131936
2011-05-23 23:16:14 +00:00
Devang Patel
344808fbe5
Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode.
...
llvm-svn: 131194
2011-05-11 19:22:19 +00:00
Rafael Espindola
9b3e6a9cb4
Rename DwarfRequiresRelocationForStmtList to
...
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList.
llvm-svn: 131148
2011-05-10 20:35:05 +00:00
Devang Patel
38193e7550
Do not ignore InlinedAt while walking up scope chain to find subprogram node.
...
llvm-svn: 131106
2011-05-09 22:14:49 +00:00
Devang Patel
188fd17fe4
Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp
...
llvm-svn: 130991
2011-05-06 16:57:54 +00:00
Rafael Espindola
59462d8ae3
Dead code elimination.
...
llvm-svn: 130984
2011-05-06 14:56:22 +00:00
Devang Patel
99147805e4
Remove little used statistical counter.
...
llvm-svn: 130955
2011-05-05 22:00:08 +00:00
Devang Patel
3d0c5dc9fd
If debug info for inlined function is missing then handle it gracefully.
...
llvm-svn: 130933
2011-05-05 17:54:26 +00:00
Rafael Espindola
8346c59e6a
Producing a DW_FORM_addr for DW_AT_stmt_list is probably correct, but
...
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
2011-05-04 17:44:06 +00:00
Devang Patel
a6e69a5541
Tighten up check for empty (i.e. no meaningful debug info) module. This fixes dwarf-die2.c test case from gcc test suite.
...
llvm-svn: 130842
2011-05-04 16:34:02 +00:00
Devang Patel
3506ad5c7f
Even if the subprogram is going to use AT_specification, emit DW_AT_MIPS_linkage_name. This helps gdb and fixes var-path-expr.exp regression reported by gdb testsuite.
...
llvm-svn: 130794
2011-05-03 21:50:34 +00:00
Devang Patel
2d8861a690
If the front end has emitted llvm.dbg.cu and other debug info anchors (clang 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
2011-05-03 16:45:22 +00:00
Devang Patel
7d7ac5512a
Emit debug info for global variables first.
...
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
2011-05-02 18:19:17 +00:00
Devang Patel
900ceb725b
Teach dwarf writer to handle complex address expression for .debug_loc entries.
...
This fixes clang generated blocks' variables' debug info.
Radar 9279956.
llvm-svn: 130373
2011-04-28 02:22:40 +00:00
Devang Patel
42736cb058
Simplify handling of variables with complex address (i.e. blocks variables)
...
llvm-svn: 130339
2011-04-27 22:45:24 +00:00
Devang Patel
3da97b7d34
Rename a local variable.
...
llvm-svn: 130171
2011-04-25 23:05:21 +00:00
Devang Patel
e28211b031
Rename a method to match what it really does.
...
s/addVariableAddress/addFrameVariableAddress/g
llvm-svn: 130170
2011-04-25 23:02:17 +00:00
Devang Patel
b1b33d6569
Do not drop a variable's complex address if it is not based on frame base.
...
Observed this while reading code, so I do not have a test case handy here.
llvm-svn: 130167
2011-04-25 22:52:55 +00:00
Devang Patel
929bbb6bf9
Let front-end tie subprogram declaration with subprogram definition directly.
...
llvm-svn: 130028
2011-04-22 23:10:17 +00:00
Devang Patel
6aac901f77
Do not leak argument's DbgVariables.
...
llvm-svn: 130004
2011-04-22 18:09:57 +00:00
Devang Patel
4f25432e4e
Refactor.
...
llvm-svn: 129938
2011-04-21 21:07:35 +00:00
Devang Patel
a31b73427e
Add comment in output stream.
...
llvm-svn: 129921
2011-04-21 17:50:24 +00:00
Devang Patel
7220c1a021
Reduce clutter in asm output. Do not emit source location as comment for each instruction.
...
llvm-svn: 129715
2011-04-18 20:26:49 +00:00
Chris Lattner
0304b82f80
Fix a ton of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Devang Patel
43cbfe2ba7
Remove extra bytes that were added for gdb. We do not have good poiner to understand actual reason behind this fixme. Spot checking suggest that newer gdb does not need this.
...
llvm-svn: 129461
2011-04-13 19:41:17 +00:00
Devang Patel
5f8111e1ca
Simplify. There is no need to use static variable.
...
llvm-svn: 129406
2011-04-12 23:10:47 +00:00
Devang Patel
f288e23b3f
This mechanical patch moves type handling into CompileUnit from DwarfDebug. 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
2011-04-12 22:53:02 +00:00
Devang Patel
6c1785d527
Refactor CompileUnit into a separate header.
...
llvm-svn: 129367
2011-04-12 17:40:32 +00:00
Devang Patel
21b6ef4320
Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.
...
llvm-svn: 129170
2011-04-08 23:39:38 +00:00
Devang Patel
39ac307002
Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
...
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
2011-04-08 21:55:10 +00:00
Devang Patel
03d0891c10
Add support to encode function's template parameters.
...
llvm-svn: 128947
2011-04-05 22:52:06 +00:00