- Mar 12, 2013
-
-
Manman Ren authored
belongs to a different compile unit. DW_FORM_ref_addr should be used for cross compile-unit reference. When compiling a large application, we got a dwarfdump verification error where abstract_origin points to nowhere. This error can't be reproduced on any testing case in MultiSource. We may have other cases where we use DW_FORM_ref4 unconditionally. rdar://problem/13370501 llvm-svn: 176882
-
David Blaikie authored
Versioned debug info support has been a burden to maintain & also compromised current debug info verification by causing test cases testing old debug info to remain rather than being updated to the latest. It also makes it hard to add or change the metadata schema by requiring various backwards-compatibility in the DI* hierarchy. So it's being removed in preparation for new changes to the schema to tidy up old/unnecessary fields and add new fields needed for new debug info (well, new to LLVM at least). The more surprising part of this is the changes to DI*::Verify - this became necessary due to the changes to AsmWriter. AsmWriter was relying on the version test to decide which bits of metadata were actually debug info when printing the comment annotations. Without the version information the tag numbers were too common & it would print debug info on random metadata that happened to start with an integer that matched a tag number. Instead this change makes the Verify functions more precise (just adding "number of operands" checks - not type checking those operands yet) & relies on that to decide which metadata is debug info metadata. llvm-svn: 176838
-
- Mar 07, 2013
-
-
Manman Ren authored
We now emit a line table for each compile unit. To reduce the prologue size of each line table, the files and directories used by each compile unit are stored in std::map<unsigned, std::vector< > > instead of std::vector< >. The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each compile unit causes a huge increase of debug info. With this patch, each prologue will only emit the files required by the compile unit. rdar://problem/13342023 llvm-svn: 176605
-
- Feb 23, 2013
-
-
Eric Christopher authored
update testcase accordingly to give the correct name to the cu. llvm-svn: 175934
-
- Feb 12, 2013
-
-
Krzysztof Parzyszek authored
option "generate-dwarf-pubnames" to control it, set to "false" by default. llvm-svn: 174981
-
- Feb 09, 2013
-
-
Manman Ren authored
line table entries in assembly. llvm-svn: 174785
-
- Feb 07, 2013
-
-
Eric Christopher authored
syms before constructing the compile units so we're not emitting section references to sections not there already. llvm-svn: 174663
-
- Feb 06, 2013
-
-
Eric Christopher authored
units coming in. llvm-svn: 174548
-
Eric Christopher authored
llvm-svn: 174547
-
Manman Ren authored
Failure: undefined symbol 'Lline_table_start0'. Root-cause: we use a symbol subtraction to calculate at_stmt_list, but the line table entries are not dumped in the assembly. Fix: use zero instead of a symbol subtraction for Compile Unit 0. llvm-svn: 174479
-
- Feb 05, 2013
-
-
Manman Ren authored
We generate one line table for each compilation unit in the object file. Reviewed by Eric and Kevin. rdar://problem/13067005 llvm-svn: 174445
-
Eric Christopher authored
for the first compile unit. llvm-svn: 174352
-
Eric Christopher authored
DWARF5 split dwarf proposal. llvm-svn: 174350
-
- Jan 31, 2013
-
-
Manman Ren authored
We used to create children DIEs for a scope, then check whether ScopeDIE is null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can link to those dangling DIEs, which are not emitted at all, causing dwarf error. The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor. rdar://problem/13071959 llvm-svn: 174084
-
- Jan 28, 2013
-
-
Eric Christopher authored
llvm-svn: 173698
-
- Jan 17, 2013
-
-
Eric Christopher authored
changing both the string of the dwo_name to be correct and the type of the statement list. Testcases all around. llvm-svn: 172699
-
Eric Christopher authored
emitting the dwarf32 version of DW_FORM_sec_offset and correct disassembler support. llvm-svn: 172698
-
- Jan 16, 2013
-
-
Eric Christopher authored
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
-
- Jan 09, 2013
-
-
Eric Christopher authored
address space. Reordered the EmitULEB128IntValue arguments to make this easier. llvm-svn: 171949
-
Eric Christopher authored
them. llvm-svn: 171933
-
Eric Christopher authored
them and add one where it seemed obvious that we wanted one. llvm-svn: 171932
-
- Jan 08, 2013
-
-
Eric Christopher authored
llvm-svn: 171905
-
- Jan 07, 2013
-
-
Eric Christopher authored
llvm-svn: 171803
-
Eric Christopher authored
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
-
- Jan 02, 2013
-
-
Chandler Carruth authored
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
-
- Dec 27, 2012
-
-
Eric Christopher authored
per compile unit/skeleton compile unit. Update tests accordingly. llvm-svn: 171133
-
- Dec 20, 2012
-
-
Eric Christopher authored
llvm-svn: 170771
-
Eric Christopher authored
into the DwarfUnits class. llvm-svn: 170770
-
- Dec 19, 2012
-
-
Eric Christopher authored
the abbreviations. Part of implementing split dwarf. llvm-svn: 170589
-
- Dec 15, 2012
-
-
Eric Christopher authored
Make emitDIE public accordingly. No functional change. llvm-svn: 170258
-
Eric Christopher authored
llvm-svn: 170257
-
- Dec 13, 2012
-
-
Eric Christopher authored
section to help prep some code to be split about. llvm-svn: 170088
-
- Dec 11, 2012
-
-
Eric Christopher authored
llvm-svn: 169907
-
Eric Christopher authored
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
-
- Dec 10, 2012
-
-
Eric Christopher authored
llvm-svn: 169779
-
Eric Christopher authored
going on and makes a lot of the terminology in comments make more sense. llvm-svn: 169758
-
Eric Christopher authored
llvm-svn: 169757
-
Eric Christopher authored
llvm-svn: 169756
-
- Dec 04, 2012
-
-
David Blaikie authored
llvm-svn: 169315
-
David Blaikie authored
This reapplies the fix for PR13303 now with more justification. Based on my execution of the GDB 7.5 test suite this results in: expected passes: 16101 -> 20890 (+30%) unexpected failures: 4826 -> 637 (-77%) There are 23 checks that used to pass and now fail. They are all in gdb.reverse. Investigating a few looks like they were accidentally passing due to extra breakpoints being set by this bug. They're generally due to the difference in end location between gcc and clang, the test suite is trying to set breakpoints on the closing '}' that clang doesn't associate with any instructions. llvm-svn: 169304
-