Krzysztof Parzyszek
bb3116f965
Allow optionally generating pubnames section in DWARF info. Introduce
...
option "generate-dwarf-pubnames" to control it, set to "false" by default.
llvm-svn: 174981
2013-02-12 18:00:14 +00:00
Eric Christopher
37c96d530b
"Clean up" line section symbol emission by emitting the section
...
syms before constructing the compile units so we're not emitting
section references to sections not there already.
llvm-svn: 174663
2013-02-07 21:19:50 +00:00
Eric Christopher
19e3875192
Clean up multiple skeleton compile units if we have multiple compile
...
units coming in.
llvm-svn: 174548
2013-02-06 21:53:56 +00:00
Eric Christopher
9d072d2846
Remove some dead code.
...
llvm-svn: 174547
2013-02-06 21:53:53 +00:00
Eric Christopher
a159b6c731
Split address information for DWARF5 split dwarf proposal. This involves
...
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.
Sneak in two other small changes:
a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.
Add tests for all of this in the fission-cu.ll test.
llvm-svn: 172578
2013-01-15 23:56:56 +00:00
Eric Christopher
11f9d2e631
Move the string pools down into the units. No functional change.
...
llvm-svn: 171905
2013-01-08 22:22:06 +00:00
Eric Christopher
ba738518f0
Add support for separating strings for the split debug info DWARF5
...
proposal. This leaves the strings in the skeleton die as strp,
but in all dwo files they're accessed now via DW_FORM_GNU_str_index.
Add support for dumping these sections and modify the fission-cu.ll
testcase to have the correct strings and form. Fix a small bug
in the fixed form sizes routine that involved out of array accesses
for the table and add a FIXME in the extractFast routine to fix
this up.
llvm-svn: 171779
2013-01-07 19:32:41 +00:00
Eric Christopher
7096eb5a5c
For the dwarf5 split debug info code split out the string section
...
per compile unit/skeleton compile unit. Update tests accordingly.
llvm-svn: 171133
2012-12-27 02:14:01 +00:00
Eric Christopher
537c3f1bc9
Whitespace and 80-column cleanup.
...
llvm-svn: 170771
2012-12-20 21:58:40 +00:00
Eric Christopher
622a4d5b97
Start splitting out the debug string section handling by moving it
...
into the DwarfUnits class.
llvm-svn: 170770
2012-12-20 21:58:36 +00:00
Eric Christopher
0f1dd74523
Split out abbreviations for the skeleton info from the rest of
...
the abbreviations. Part of implementing split dwarf.
llvm-svn: 170589
2012-12-19 22:02:53 +00:00
Bill Wendling
56d9c4b832
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.
...
llvm-svn: 170502
2012-12-19 07:18:57 +00:00
Dmitri Gribenko
79a7f51c9a
Declare class DwarfDebug before use instead of relying on a forward declaration
...
from some other unrelated header.
Patch by Kai.
llvm-svn: 170284
2012-12-16 12:57:36 +00:00
Eric Christopher
9e773fa45e
To simplify some code move the unit emission into the holders.
...
Make emitDIE public accordingly. No functional change.
llvm-svn: 170258
2012-12-15 00:04:07 +00:00
Eric Christopher
1a93fc9d67
Update some comments.
...
llvm-svn: 169907
2012-12-11 19:42:09 +00:00
Eric Christopher
2d11b002bc
Refactor out the abbreviation handling into a separate class that
...
controls each of the abbreviation sets (only a single one at the
moment) and computes offsets separately as well for each set
of DIEs.
No real function change, ordering of abbreviations for the skeleton
CU changed but only because we're computing in a separate order. Fix
the testcase not to care.
llvm-svn: 169793
2012-12-10 23:34:43 +00:00
Eric Christopher
b3b9b702cb
Rearrange vars and make comments more obvious.
...
llvm-svn: 169780
2012-12-10 22:25:41 +00:00
Eric Christopher
c67794597d
Use the somewhat semantic term "split dwarf" it more matches what's
...
going on and makes a lot of the terminology in comments make more sense.
llvm-svn: 169758
2012-12-10 19:51:21 +00:00
Eric Christopher
67243c354a
Reorder fission variables.
...
llvm-svn: 169756
2012-12-10 19:51:13 +00:00
Chandler Carruth
a98c778194
Sort includes for all of the .h files under the 'lib' tree. These were
...
missed in the first pass because the script didn't yet handle include
guards.
Note that the script is now able to handle all of these headers without
manual edits. =]
llvm-svn: 169224
2012-12-04 07:12:27 +00:00
Eli Bendersky
4b06c42c76
Fix PR12942: Allow two CUs to be generated from the same source file.
...
Thanks Eric for the review.
llvm-svn: 169142
2012-12-03 18:45:45 +00:00
Eric Christopher
17e71f21a8
Add some first skeleton work for the DWARF5 Fission proposal. Emit
...
part of the compile unit CU and start separating out information into
the various sections that will be pulled out later.
WIP.
llvm-svn: 169061
2012-11-30 23:59:06 +00:00
Eric Christopher
20076dc191
More comment.
...
llvm-svn: 168952
2012-11-29 22:56:13 +00:00
Eric Christopher
fdaa21621d
Attempt to make the comments for dwarf debug look more like
...
the coding standard would like.
llvm-svn: 168737
2012-11-27 22:43:45 +00:00
Eric Christopher
a2656421d8
Make comment names match function names.
...
llvm-svn: 168644
2012-11-27 00:41:57 +00:00
Eric Christopher
41a20c2fec
Pull some code out into functions to make rearranging them a bit easier.
...
llvm-svn: 168481
2012-11-22 00:59:49 +00:00
Eric Christopher
9ba928ae46
Update for some of the coding standard before rearranging functions
...
around.
llvm-svn: 168401
2012-11-21 00:34:35 +00:00
Eric Christopher
2b632babb4
Update some comments.
...
llvm-svn: 168400
2012-11-21 00:17:49 +00:00
Eric Christopher
b46aced215
Update and add some comments.
...
llvm-svn: 168399
2012-11-21 00:03:31 +00:00
Eric Christopher
6179304fc4
Whitespace.
...
llvm-svn: 168398
2012-11-21 00:03:28 +00:00
Eric Christopher
40554d2b5f
Remove constness from this, it modifies the output stream as does
...
everything else underneath.
llvm-svn: 168395
2012-11-20 23:30:11 +00:00
Eric Christopher
d6e6be52c0
Remove unused function argument, add a bit to the comment.
...
llvm-svn: 168387
2012-11-20 22:14:13 +00:00
Eric Christopher
9c2055893d
Remove a function argument and propagate const around accordingly.
...
llvm-svn: 168338
2012-11-19 22:42:15 +00:00
Eric Christopher
32873f6ec7
Add an option to enable prototype "fission" capabilities and debug changes.
...
llvm-svn: 167765
2012-11-12 22:22:20 +00:00
Benjamin Kramer
83badeb894
Replace some instances of UniqueVector with SetVector, which is slightly cheaper.
...
No functionality change.
llvm-svn: 167116
2012-10-31 13:45:49 +00:00
Eric Christopher
b67c16fe92
Have the DbgVariable "isArtificial" and "isObjectPointer" not
...
care about it being an argument variable so that we can decide
that captured block and lambda vars that don't happen to
be arguments could be an argument pointer.
Add the object pointer for one case onto the subprogram die.
rdar://12001329
llvm-svn: 164419
2012-09-21 22:18:52 +00:00
Eric Christopher
853a000638
Recommit, with fixes:
...
Add some support for dealing with an object pointer on arguments.
Part of rdar://9797999
which now supports adding the object pointer attribute to the
subprogram as it should.
llvm-svn: 163754
2012-09-12 23:36:19 +00:00
Eric Christopher
e2dae503e6
Revert "Add some support for dealing with an object pointer on arguments."
...
This should be done on the subprogram, not the variable itself.
llvm-svn: 163734
2012-09-12 18:42:31 +00:00
Eric Christopher
9a8f37667b
Add some support for dealing with an object pointer on arguments.
...
Part of rdar://9797999
llvm-svn: 163667
2012-09-12 00:26:55 +00:00
Eric Christopher
a327d985db
80-col fixup.
...
llvm-svn: 163569
2012-09-10 23:34:03 +00:00
Eric Christopher
b5562e6c57
Turn these two options in to trinary state so that they can be
...
turned on and off separate from the platform if you're on darwin.
llvm-svn: 162487
2012-08-23 22:36:40 +00:00
Eric Christopher
797ebecc1a
Add a flag to DwarfDebug to allow it to communicate whether or not
...
we're using the darwin old gdb compat mode for emitting dwarf.
llvm-svn: 162486
2012-08-23 22:36:36 +00:00
Eric Christopher
dde7784606
Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causing
...
failures in the debug testsuite and possibly PR13486.
llvm-svn: 161121
2012-08-01 18:19:01 +00:00
Eric Christopher
acd91c534d
Add a DW_AT_high_pc for CUs that are a single address range. Update
...
all tests accordingly.
Fixes PR13351.
Patch by shinichiro hamaji!
llvm-svn: 160899
2012-07-27 22:00:05 +00:00
Alexey Samsonov
7d35420c19
Cleanup in DwarfDebug - fix a typo and remove two unused functions
...
llvm-svn: 159433
2012-06-29 16:04:14 +00:00
Bill Wendling
e8949ecfa6
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
...
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
2012-06-28 00:05:13 +00:00
Benjamin Kramer
bbdde33ff0
Allocate the contents of DwarfDebug's StringMaps in a single big BumpPtrAllocator.
...
llvm-svn: 158265
2012-06-09 10:34:15 +00:00
Benjamin Kramer
c798b7be6d
DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings.
...
llvm-svn: 152541
2012-03-11 14:56:26 +00:00
Eric Christopher
73cbb37d7a
Grammar.
...
llvm-svn: 151874
2012-03-02 01:57:55 +00:00
Chris Lattner
bed3b11d94
tidy up forward declarations.
...
llvm-svn: 149078
2012-01-26 20:44:57 +00:00