summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-dwp/llvm-dwp.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add parentheses around arithmetic in operand of '|'.Benjamin Kramer2016-02-181-1/+1
| | | | | | | | | | | | This avoids a operator precedence warning for mixing + and | in an expression. I checked that this matches the definition in the Split DWARF proposal. Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D17375 llvm-svn: 261207
* llvm-dwp: Support for type units when merging DWPs into larger DWPsDavid Blaikie2016-02-171-2/+54
| | | | llvm-svn: 261072
* Fix the hash function.David Blaikie2016-02-171-1/+1
| | | | llvm-svn: 261071
* [llvm-dwp] Merge cu_index from DWPsDavid Blaikie2016-02-061-6/+37
| | | | | | This is almost feature complete - just missing tu_index merging now. llvm-svn: 259971
* [MC, COFF] Support link /incremental conditionallyDavid Majnemer2015-12-211-1/+4
| | | | | | | | | | | | | | | | Today, we always take into account the possibility that object files produced by MC may be consumed by an incremental linker. This results in us initialing fields which vary with time (TimeDateStamp) which harms hermetic builds (e.g. verifying a self-host went well) and produces sub-optimal code because we cannot assume anything about the relative position of functions within a section (call sites can get redirected through incremental linker thunks). Let's provide an MCTargetOption which controls this behavior so that we can disable this functionality if we know a-priori that the build will not rely on /incremental. llvm-svn: 256203
* [llvm-dwp] Deduplicate type unitsDavid Blaikie2015-12-141-6/+12
| | | | | | | | It's O(N^2) because it does a simple walk through the existing types to find duplicates, but that will be fixed in a follow-up commit to use a mapping data structure of some kind. llvm-svn: 255482
* [llvm-dwp] Sink debug_types.dwo emission into the code parsing the type ↵David Blaikie2015-12-091-15/+27
| | | | | | | | | | signatures (NFC) This is a preliminary change towards deduplicating type units based on their signatures. Next change will skip emission of types when their signature has already been seen. llvm-svn: 255154
* [llvm-dwp] Add coverage for both the presence and absence of type units, and ↵David Blaikie2015-12-051-5/+7
| | | | | | fix/remove the emission of a broken tu_index when no type units are present llvm-svn: 254833
* [llvm-dwp] clang-format this to catch anything I've missed along the wayDavid Blaikie2015-12-051-12/+13
| | | | llvm-svn: 254828
* [llvm-dwp] Support debug_tu_indexDavid Blaikie2015-12-051-53/+110
| | | | llvm-svn: 254827
* [llvm-dwp] Implement the required on-disk probed hash tableDavid Blaikie2015-12-041-5/+16
| | | | llvm-svn: 254770
* [llvm-dwp] Include the debug_line.dwo sectionDavid Blaikie2015-12-041-0/+1
| | | | | | | | | | | | This probably shouldn't be generated in the .dwo file for CUs, only for TUs, but it's in the sample .dwos (generated by clang) so dwp should reflect that. Arguably the DWP tool could be smart enough to know that the CUs shouldn't need a debug_line.dwo section and skip that even when it's legitimately generated for TUs, but that's a bit more off-book. llvm-svn: 254767
* [llvm-dwp] Retrieve the DWOID from the CU for the cu_index entryDavid Blaikie2015-12-041-2/+61
| | | | llvm-svn: 254731
* [llvm-dwp] Include only the non-empty columns in the cu_indexDavid Blaikie2015-12-021-7/+15
| | | | llvm-svn: 254555
* [llvm-dwp] Emit a rather fictional debug_cu_indexDavid Blaikie2015-12-021-22/+81
| | | | | | | | | | | | | | This is very rudimentary support for debug_cu_index, but it is enough to allow llvm-dwarfdump to find the offsets for contributions and correctly dump debug_info. It will need to actually find the real signature of the unit and build the real hash table with the right number of buckets, as per the DWP specification. It will also need to be expanded to cover the tu_index as well. llvm-svn: 254489
* [llvm-dwp] Deduplicate strings in the debug_str.dwo sectionDavid Blaikie2015-12-011-14/+20
| | | | | | | Also, ensure that references to those strings in debug_str_offsets.dwo correctly refer to the deduplicated strings. llvm-svn: 254441
* [llvm-dwp] Correctly update debug_str_offsets.dwo when linking dwo filesDavid Blaikie2015-12-011-17/+68
| | | | | | | | | | This doesn't deduplicate strings in the debug_str section, nor does it properly wire up the index so that debug_info can /find/ these strings, but it does correct the str_offsets specifically. Follow up patches to address those related/next issues. llvm-svn: 254431
* [llvm-dwp] Initial partial prototypeDavid Blaikie2015-12-011-1/+143
| | | | | | | | | | | | | | | | | | | This just concatenates the common DWP sections without doing any of the fancy DWP things like: 1) update str_offsets 2) deduplicating strings 3) merging/creating cu/tu_index Patches for these will follow shortly. (also not sure about target triple/object file type for this tool - do I really need a whole triple just to write an object file that contains purely static/hardcoded bytes in each section? & I guess I should just pick it based on the first input, maybe, rather than hardcoding for now - but we only produce .dwo on ELF platforms with objcopy for now anyway) llvm-svn: 254355
* llvm-dwp: Initial layoutDavid Blaikie2015-12-011-0/+2
llvm-svn: 254354
OpenPOWER on IntegriCloud