summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Reduce some code duplication.Eric Christopher2012-07-041-19/+4
| | | | llvm-svn: 159701
* The DIBuilder class is just a wrapper around debug info creationBill Wendling2012-06-291-1/+1
| | | | | | | (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. llvm-svn: 159414
* Add support for enum forward declarations.Eric Christopher2012-06-011-6/+7
| | | | | | Part of rdar://11570854 llvm-svn: 157786
* Have getOrCreateSubprogramDIE store the DIE for a subprogramPeter Collingbourne2012-05-271-5/+5
| | | | | | | | | definition in the map before calling itself to retrieve the DIE for the declaration. Without this change, if this causes getOrCreateSubprogramDIE to be recursively called on the definition, it will create multiple DIEs for that definition. Fixes PR12831. llvm-svn: 157541
* Add support for C++11 enum classes in llvm.Eric Christopher2012-05-231-0/+5
| | | | | | Part of rdar://11496790 llvm-svn: 157303
* Untabify and 80-col.Eric Christopher2012-05-221-17/+17
| | | | llvm-svn: 157274
* Formatting consistency.Eric Christopher2012-05-221-3/+4
| | | | llvm-svn: 157273
* Handle OpDeref in case it comes in as a register operand.Eric Christopher2012-05-081-1/+2
| | | | | | Part of rdar://11352000 llvm-svn: 156405
* Make comment here more clear.Eric Christopher2012-04-161-3/+4
| | | | llvm-svn: 154878
* Add support for objc property decls according to the page at:Eric Christopher2012-03-291-0/+20
| | | | | | | | | | http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the metadata needed accordingly. rdar://11144023 llvm-svn: 153639
* Fix the output of the DW_TAG_friend tag to include DW_AT_friendEric Christopher2012-03-281-6/+12
| | | | | | | | and not the rest of the member tag. Fixes PR11695 llvm-svn: 153570
* For types with a parent of the compile unit make sure and emitEric Christopher2012-03-151-5/+4
| | | | | | | | the DECL information. rdar://10855921 llvm-svn: 152876
* Revert the removal of DW_AT_MIPS_linkage_name when we aren't puttingEric Christopher2012-03-151-5/+8
| | | | | | | | | out the DW_AT_name. Older gdbs unfortunately still use it to disambiguate member functions in templated classes (gdb.cp/templates.exp). rdar://11043421 (which is now deferred for a bit) llvm-svn: 152782
* Remove the DW_AT_MIPS_linkage name attribute when we don't need itEric Christopher2012-03-141-5/+5
| | | | | | | | | | | output (we're emitting a specification already and the information isn't changing). Saves 1% on the debug information for a build of llvm. Fixes rdar://11043421 llvm-svn: 152697
* Add the DW_AT_APPLE_runtime_class attribute to forward declarationsEric Christopher2012-03-071-5/+6
| | | | | | | | as well as completely defined classes. This fixes rdar://10956070 llvm-svn: 152171
* Only add DW_AT_prototyped if we're working with a C-like language.Eric Christopher2012-02-221-3/+12
| | | | | | | | Worth another 45k (1%) off of a large C++ testcase. rdar://10909458 llvm-svn: 151144
* Add the source language into the compile unit.Eric Christopher2012-02-221-2/+3
| | | | llvm-svn: 151143
* Remove extra semi-colon.Eric Christopher2012-02-221-1/+1
| | | | llvm-svn: 151142
* There's no need for a DW_AT_byte_size on a pointer type.Eric Christopher2012-02-211-1/+1
| | | | | | Part of rdar://10493979 where it reduces by about .5% (10k) llvm-svn: 151097
* Remove tabs.Devang Patel2012-02-071-17/+17
| | | | llvm-svn: 150012
* DebugInfo: Provide a new hook to encode relationship between a property and ↵Devang Patel2012-02-061-0/+11
| | | | | | an ivar. llvm-svn: 149874
* Emit new property tag.Devang Patel2012-02-041-1/+29
| | | | llvm-svn: 149737
* Add a comment and ensure that anyone else looking at this code doesn't startEric Christopher2012-01-061-6/+5
| | | | | | to bleed from the eyes. llvm-svn: 147695
* As part of the ongoing work in finalizing the accelerator tables, extendEric Christopher2012-01-061-2/+15
| | | | | | | | | the debug type accelerator tables to contain the tag and a flag stating whether or not a compound type is a complete type. rdar://10652330 llvm-svn: 147651
* Resolve part of a fixme and add a new one.Eric Christopher2011-12-161-2/+5
| | | | llvm-svn: 146784
* Add a fixme here.Eric Christopher2011-12-161-0/+1
| | | | llvm-svn: 146783
* DW_AT_virtuality is also defined to be constant, not flag.Nick Lewycky2011-12-141-2/+2
| | | | llvm-svn: 146534
* DW_AT_accessibility is "constant" class, not form class, so it may not useNick Lewycky2011-12-131-6/+6
| | | | | | DW_FORM_flag. Use DW_FORM_data1 for one byte. llvm-svn: 146475
* DISubrange supports unsigned lower/upper array bounds, so let's not fake it ↵Devang Patel2011-11-171-4/+4
| | | | | | in the end while emitting DWARF. If a FE needs to encode signed lower/upper array bounds then we need to extend DISubrange or ad DISignedSubrange. llvm-svn: 144937
* Initialize variable.Eric Christopher2011-11-111-1/+2
| | | | llvm-svn: 144360
* If we have a DIE with an AT_specification use that instead of the normalEric Christopher2011-11-111-7/+10
| | | | | | addr DIE when adding to the dwarf accelerator tables. llvm-svn: 144354
* Check in getOrCreateSubprogramDIE if a declaration exists and if so outputRafael Espindola2011-11-101-1/+12
| | | | | | | | it first. This is a more general fix to pr11300. llvm-svn: 144324
* Move type handling to make sure we get all created types that aren'tEric Christopher2011-11-101-7/+5
| | | | | | forward decls and have names into the dwarf accelerator types table. llvm-svn: 144306
* Remove the pubnames section, no one consumes it.Eric Christopher2011-11-091-4/+2
| | | | llvm-svn: 144169
* Also add the linkage name to the name accelerator tables if it existsEric Christopher2011-11-081-0/+5
| | | | | | and is different than the normal name. llvm-svn: 144130
* Add all completed and named types to the dwarf type accelerator tables.Eric Christopher2011-11-071-0/+6
| | | | llvm-svn: 144027
* Add the support code to enable the dwarf accelerator tables. Upcoming patchesEric Christopher2011-11-071-2/+11
| | | | | | | | to fix the types section (all types, not just global types), and testcases. The code to do the final emission is disabled by default. llvm-svn: 143923
* Dwarf: [PR11022] Fix emitting DW_AT_const_value(>i64), to be ↵NAKAMURA Takumi2011-10-281-7/+9
| | | | | | | | | | | host-endian-neutral. Don't assume APInt::getRawData() would hold target-aware endianness nor host-compliant endianness. rawdata[0] holds most lower i64, even on big endian host. FIXME: Add a testcase for big endian target. FIXME: Ditto on CompileUnit::addConstantFPValue() ? llvm-svn: 143194
* Always use the string pool, even when it makes the .o larger. This may helpNick Lewycky2011-10-281-15/+11
| | | | | | | tools that read the debug info in the .o files by making the DIE sizes more consistent. llvm-svn: 143186
* Teach our Dwarf emission to use the string pool.Nick Lewycky2011-10-271-28/+33
| | | | llvm-svn: 143097
* Reflow lines, fix comments for doxygen style, fix whitespace. No functionalityNick Lewycky2011-10-261-19/+16
| | | | | | change. llvm-svn: 143074
* Whitespace.Eric Christopher2011-10-031-1/+1
| | | | llvm-svn: 141005
* Fix emission of debug data for global variables. getContext() on ↵James Molloy2011-09-261-2/+2
| | | | | | DIGlobalVariables is not valid any more. llvm-svn: 140539
* Do not unnecessarily use AT_specification DIE because it does not add any value.Devang Patel2011-09-211-1/+1
| | | | | | Few weeks ago, llvm completely inverted the debug info graph. Earlier each debug info node used to keep track of its compile unit, now compile unit keeps track of important nodes. One impact of this change is that the global variable's do not have any context, which should be checked before deciding to use AT_specification DIE. llvm-svn: 140282
* Add support to emit debug info for C++0x nullptr type.Devang Patel2011-09-141-4/+11
| | | | llvm-svn: 139751
* Eliminate unnecessary forwarding function.Devang Patel2011-08-181-0/+3
| | | | llvm-svn: 138006
* Add new DIE into the map asap.Devang Patel2011-08-181-8/+6
| | | | llvm-svn: 137998
* Until now all debug info MDNodes referred to a root MDNode, a compile unit. ↵Devang Patel2011-08-161-3/+7
| | | | | | | | This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL. MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up. llvm-svn: 137778
* Refactor. Variables are part of compile unit so let CompileUnit create new ↵Devang Patel2011-08-151-0/+108
| | | | | | variable. llvm-svn: 137663
* Refactor. Global variables are part of compile unit so let CompileUnit ↵Devang Patel2011-08-151-0/+109
| | | | | | create new global variable. llvm-svn: 137621
OpenPOWER on IntegriCloud