summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Move member variable up to where the rest of non-DWARF5 variables reside.Eric Christopher2013-11-211-3/+3
| | | | llvm-svn: 195380
* Move DebugInfoOffset member near the other data member it helps describe.Eric Christopher2013-11-212-7/+7
| | | | llvm-svn: 195299
* Reflow some documentation and remove whitespace comments. MoveEric Christopher2013-11-211-27/+10
| | | | | | DebugInfoOffset data member up with the rest of the data members. llvm-svn: 195298
* Add more documenation for the lookup tables data members.Eric Christopher2013-11-211-0/+3
| | | | llvm-svn: 195297
* Reorder language in the CompileUnit description and add a comment.Eric Christopher2013-11-212-6/+7
| | | | | | Language may only be a temporary addition. llvm-svn: 195296
* Update comment.Eric Christopher2013-11-211-2/+2
| | | | llvm-svn: 195293
* Constify the DIEs used for pubname and pubtype tables. PropagateEric Christopher2013-11-214-15/+15
| | | | | | through findAttribute etc. llvm-svn: 195290
* DwarfCompileUnit: Initialize DebugInfoOffset.David Blaikie2013-11-201-2/+2
| | | | | | | | | | | | While not strictly necessary (the class has an invariant that "setDebugInfoOffset" is called before "getDebugInfoOffset" - anyone client that actually gets the default zero offset is buggy/broken) this is consistent with the code as originally written and the removal of the initialization was an accident in r195166. Suggested by Manman Ren. llvm-svn: 195263
* CR feedback for r195166: Add comments regarding type unit mapping and type ↵David Blaikie2013-11-202-3/+12
| | | | | | | | units disabling cross-CU sharing. Changes suggested by Manman Ren. llvm-svn: 195262
* Remove polymorphic destruction for DIE. DIEBlocks are owned elsewhereEric Christopher2013-11-201-1/+1
| | | | | | | and not polymorphically deleted and they are the only thing that derive from DIE. llvm-svn: 195183
* DebugInfo: Partial implementation of DWARF type units.David Blaikie2013-11-197-41/+133
| | | | | | | | | | | | | | Emit DW_TAG_type_units into the debug_info section using compile unit headers. This is bogus/unusable by debuggers, but testable and provides more isolated review. Subsequent patches will include support for type unit headers and emission into the debug_types section, as well as comdat grouping the types based on their hash. Also the CompileUnit type will be renamed 'Unit' and relevant portions pulled out into respective CompileUnit and TypeUnit types. llvm-svn: 195166
* DebugInfo: Constify accelerator table handling, and separate type ↵David Blaikie2013-11-195-54/+68
| | | | | | accelarator insertion in preparation for a second use of this code from type units. llvm-svn: 195164
* Formatting and 80-col.Eric Christopher2013-11-194-15/+21
| | | | llvm-svn: 195122
* Fix comment.Eric Christopher2013-11-191-1/+2
| | | | llvm-svn: 195121
* Refactor the section emission code to remove duplicates now thatEric Christopher2013-11-191-39/+15
| | | | | | | we can emit various sections in any order. No functional change. llvm-svn: 195120
* Reformat file.Eric Christopher2013-11-191-249/+283
| | | | llvm-svn: 195119
* DwarfDebug: Move trailing else to the same line as prior closing braceDavid Blaikie2013-11-181-4/+2
| | | | llvm-svn: 195060
* DwarfDebug: Remove some more redundant explicit constructions.David Blaikie2013-11-181-4/+3
| | | | llvm-svn: 195059
* DebugInfo: Simplify a few more explicit constructions, underconstrained ↵David Blaikie2013-11-181-21/+18
| | | | | | types, and make DIType(MDNode*) explicit like all the other DI* node ctors. llvm-svn: 195055
* Remove unnecessary temporary construction.David Blaikie2013-11-171-1/+1
| | | | llvm-svn: 194981
* Remove redundant explicit default initialization.David Blaikie2013-11-171-2/+2
| | | | llvm-svn: 194980
* DwarfCompileUnit: Add type safety to createGlobalVariableDIEDavid Blaikie2013-11-173-5/+4
| | | | llvm-svn: 194979
* DwarfCompileUnit: Push type safety of DIDescriptor through ↵David Blaikie2013-11-162-5/+5
| | | | | | CompileUnit::createAndAddDIE. llvm-svn: 194902
* DwarfCompileUnit: Remove unnecessary OwningPtr<T>::get() callDavid Blaikie2013-11-161-1/+1
| | | | llvm-svn: 194901
* For dwarf4 use the correct form for referencing debug_loc locations,Eric Christopher2013-11-162-2/+4
| | | | | | | | | and update test cases accordingly. This doesn't affect the output dumped using llvm-dwarfdump, but readelf does now dump the debug_loc section. llvm-svn: 194898
* DwarfCompileUnit: Add type safety to CompileUnit::getNode by returning ↵David Blaikie2013-11-152-5/+4
| | | | | | DICompileUnit instead of a raw MDNode*. llvm-svn: 194895
* DwarfCompileUnit: Add type safety by using DICompileUnit rather than raw ↵David Blaikie2013-11-154-16/+16
| | | | | | MDNode* for the CU metadata node llvm-svn: 194893
* DwarfCompileUnit: Simplify getLanguage() calls to use existing member functionDavid Blaikie2013-11-151-3/+3
| | | | llvm-svn: 194892
* Replace the dangling context hotfix with an assertion.Adrian Prantl2013-11-151-4/+1
| | | | llvm-svn: 194883
* DwarfDebug: Push DISubprogram through updateSubprogramScopeDIEDavid Blaikie2013-11-152-7/+5
| | | | llvm-svn: 194879
* DwarfCompileUnit: Push DIDescriptors through a getDIE/insertDIEDavid Blaikie2013-11-153-19/+20
| | | | llvm-svn: 194875
* DwarfCompileUnit: Push DIDescriptor usage out from isShareableAcrossCUsDavid Blaikie2013-11-151-5/+5
| | | | | | | This is the first of a few similar patches. We'll see how far it goes/makes sense. llvm-svn: 194871
* Reimplement r194843 in a slightly less broken way.Adrian Prantl2013-11-151-3/+5
| | | | llvm-svn: 194848
* Restore the behaviour from before r194728.Adrian Prantl2013-11-151-1/+3
| | | | | | If getDIE() fails, getOrCreateContextDIE() should also return the CUDie. llvm-svn: 194843
* Use a reference rather than a pointer as we don't expect a NULLEric Christopher2013-11-153-23/+23
| | | | | | | | DbgVariable. No functional change. llvm-svn: 194761
* DebugInfo: Simplify/narrow null-check for getOrCreateTypeDavid Blaikie2013-11-141-2/+4
| | | | llvm-svn: 194737
* DwarfCompileUnit::getOrCreateContext: Return the compile unit DIE rather ↵David Blaikie2013-11-141-11/+4
| | | | | | than null. llvm-svn: 194728
* Remove unnecessary 'else' after return.David Blaikie2013-11-141-4/+3
| | | | llvm-svn: 194724
* Error if we see an alias to a declaration.Rafael Espindola2013-11-141-0/+5
| | | | | | | | | | | | | | | In ELF and COFF an alias is just another offset in a section. There is no way to represent an alias to something in another file. In MachO, the spec has the N_INDR type which should allow for exactly that, but is not currently implemented. Given that it is specified but not implemented, we error in codegen to avoid miscompiling but don't reject aliases to declarations in the verifier to leave the option open of implementing it. In the past we have used alias to declarations as a way of implementing weakref, which is why it exists in some old tests which this patch updates. llvm-svn: 194705
* DIEHash: Move header include to be first in the implementation file to flush ↵David Blaikie2013-11-132-1/+3
| | | | | | out header inclusion ordering issues llvm-svn: 194588
* Unify the adding of enumerators with the construction of the enumeration.Eric Christopher2013-11-112-23/+25
| | | | llvm-svn: 194401
* Formatting.Eric Christopher2013-11-111-9/+8
| | | | llvm-svn: 194400
* 80-col.Eric Christopher2013-11-111-5/+7
| | | | llvm-svn: 194399
* Just pass the DIComposite type by value instead of by pointer.Eric Christopher2013-11-112-6/+6
| | | | llvm-svn: 194398
* Use type form of getIntPtrType.Matt Arsenault2013-11-101-1/+1
| | | | | | | | This should be inconsequential and is work towards removing the default address space arguments. llvm-svn: 194347
* Comment some and reformat for clarity beginFunction.Eric Christopher2013-11-011-30/+42
| | | | llvm-svn: 193894
* Remove linkonce_odr_auto_hide.Rafael Espindola2013-11-011-4/+2
| | | | | | | | | | | | | | | linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are not relevant for a particular DSO. It was redundant in that it all its uses are equivalent to linkonce_odr+unnamed_addr. Unlike those, it has never been connected to clang or llvm's optimizers, so it was effectively dead. Given that nothing produces it, this patch just nukes it (other than the llvm-c enum value). llvm-svn: 193865
* DebugInfo: Emit member variable locations as data instead of expressions in ↵David Blaikie2013-11-011-29/+31
| | | | | | | | | blocks Drive by space optimization. Also makes the DIEs more regular which might speed up DWARF parsing. llvm-svn: 193835
* Debug Info: remove duplication of DIEs when a DIE can be shared across CUs.Manman Ren2013-10-316-11/+87
| | | | | | | | | | | | | | | | | | | We add a map in DwarfDebug to map MDNodes that are shareable across CUs to the corresponding DIEs: MDTypeNodeToDieMap. These DIEs can be shared across CUs, that is why we keep the maps in DwarfDebug instead of CompileUnit. We make the assumption that if a DIE is not added to an owner yet, we assume it belongs to the current CU. Since DIEs for the type system are added to their owners immediately after creation, and other DIEs belong to the current CU, the assumption should be true. A testing case is added to show that we only create a single DIE for a type MDNode and we use ref_addr to refer to the type DIE. We also add a testing case to show ref_addr relocations for non-darwin platforms. llvm-svn: 193779
* Produce .weak_def_can_be_hidden for some linkonce_odr valuesRafael Espindola2013-10-301-7/+20
| | | | | | | | | | | | | | With this patch llvm produces a weak_def_can_be_hidden for linkonce_odr if they are also unnamed_addr or don't have their address taken. There is not a lot of documentation about .weak_def_can_be_hidden, but from the old discussion about linkonce_odr_auto_hide and the name of the directive this looks correct: these symbols can be hidden. Testing this with the ld64 in Xcode 5 linking clang reduces the number of exported symbols from 21053 to 19049. llvm-svn: 193718
OpenPOWER on IntegriCloud