Krzysztof Parzyszek
228daa6986
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
7480433dd9
"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
5b33b3c3be
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
30be9f8cee
Remove some dead code.
...
llvm-svn: 174547
2013-02-06 21:53:53 +00:00
Eric Christopher
962c9089d9
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
27614589dc
Move the string pools down into the units. No functional change.
...
llvm-svn: 171905
2013-01-08 22:22:06 +00:00
Eric Christopher
2cbd5767ad
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
3bf29fda91
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
48fef599a4
Whitespace and 80-column cleanup.
...
llvm-svn: 170771
2012-12-20 21:58:40 +00:00
Eric Christopher
e698f53740
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
3c5a1914b6
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
3d7b0b8ac7
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
2943ce80f3
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
a2de826d29
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
d692c1dbb7
Update some comments.
...
llvm-svn: 169907
2012-12-11 19:42:09 +00:00
Eric Christopher
c8a310edc1
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
0aa4a670ad
Rearrange vars and make comments more obvious.
...
llvm-svn: 169780
2012-12-10 22:25:41 +00:00
Eric Christopher
cdf218d606
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
d79f5480ac
Reorder fission variables.
...
llvm-svn: 169756
2012-12-10 19:51:13 +00:00
Chandler Carruth
802d755533
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
b42d1466a0
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
9c2ecd93d0
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
42e3994e77
More comment.
...
llvm-svn: 168952
2012-11-29 22:56:13 +00:00
Eric Christopher
acdcbdb17d
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
69e328e5bd
Make comment names match function names.
...
llvm-svn: 168644
2012-11-27 00:41:57 +00:00
Eric Christopher
960ac37832
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
7b30f2e43b
Update for some of the coding standard before rearranging functions
...
around.
llvm-svn: 168401
2012-11-21 00:34:35 +00:00
Eric Christopher
5d1cf930df
Update some comments.
...
llvm-svn: 168400
2012-11-21 00:17:49 +00:00
Eric Christopher
55c5181525
Update and add some comments.
...
llvm-svn: 168399
2012-11-21 00:03:31 +00:00
Eric Christopher
27527b2b92
Whitespace.
...
llvm-svn: 168398
2012-11-21 00:03:28 +00:00
Eric Christopher
383719592a
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
1f0cbb826f
Remove unused function argument, add a bit to the comment.
...
llvm-svn: 168387
2012-11-20 22:14:13 +00:00
Eric Christopher
58f4195942
Remove a function argument and propagate const around accordingly.
...
llvm-svn: 168338
2012-11-19 22:42:15 +00:00
Eric Christopher
2942431175
Add an option to enable prototype "fission" capabilities and debug changes.
...
llvm-svn: 167765
2012-11-12 22:22:20 +00:00
Benjamin Kramer
1559127f6f
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
c1c8a1bb6a
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
e341776c1e
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
c44e973a36
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
97c0fdd116
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
e8a7b1b741
80-col fixup.
...
llvm-svn: 163569
2012-09-10 23:34:03 +00:00
Eric Christopher
20b76a77c3
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
4977f214d7
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
b1b9451337
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
86ca9f9e11
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
6e7e6b646b
Cleanup in DwarfDebug - fix a typo and remove two unused functions
...
llvm-svn: 159433
2012-06-29 16:04:14 +00:00
Bill Wendling
e38859dc8e
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
0748008df5
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
71b197306e
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
e19f4cd066
Grammar.
...
llvm-svn: 151874
2012-03-02 01:57:55 +00:00
Chris Lattner
88fce10928
tidy up forward declarations.
...
llvm-svn: 149078
2012-01-26 20:44:57 +00:00