summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Recommit, with fixes:Eric Christopher2012-09-121-1/+11
| | | | | | | | | | | 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
* Revert "Add some support for dealing with an object pointer on arguments."Eric Christopher2012-09-121-2/+0
| | | | | | This should be done on the subprogram, not the variable itself. llvm-svn: 163734
* Add some support for dealing with an object pointer on arguments.Eric Christopher2012-09-121-0/+2
| | | | | | Part of rdar://9797999 llvm-svn: 163667
* Revert r160148 it seems to cause more problems than it shouldEric Christopher2012-09-101-1/+1
| | | | | | right now. We'll fix PR13303 a different way. llvm-svn: 163570
* 80-col fixup.Eric Christopher2012-09-101-1/+2
| | | | llvm-svn: 163568
* No reason to construct this twice.Eric Christopher2012-09-101-1/+1
| | | | llvm-svn: 163567
* Use DW_FORM_flag_present to save space in debug information if we'reEric Christopher2012-08-241-5/+4
| | | | | | | | not in darwin gdb compat mode. Fixes rdar://10975088 llvm-svn: 162526
* Turn these two options in to trinary state so that they can beEric Christopher2012-08-231-14/+40
| | | | | | turned on and off separate from the platform if you're on darwin. llvm-svn: 162487
* Add a flag to DwarfDebug to allow it to communicate whether or notEric Christopher2012-08-231-0/+2
| | | | | | we're using the darwin old gdb compat mode for emitting dwarf. llvm-svn: 162486
* Typo.Eric Christopher2012-08-231-1/+1
| | | | llvm-svn: 162438
* Only emit the __debug_inlined section if we're trying to be compatibleEric Christopher2012-08-231-1/+5
| | | | | | | | with older gdbs on darwin. rdar://10975874 llvm-svn: 162436
* Emit pubtypes only when going for darwin gdb compatibility.Eric Christopher2012-08-231-1/+4
| | | | | | rdar://10393214 llvm-svn: 162434
* Add an option for darwin gdb compatibility.Eric Christopher2012-08-231-2/+9
| | | | llvm-svn: 162432
* Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causingEric Christopher2012-08-011-21/+6
| | | | | | failures in the debug testsuite and possibly PR13486. llvm-svn: 161121
* Add a DW_AT_high_pc for CUs that are a single address range. UpdateEric Christopher2012-07-271-6/+21
| | | | | | | | | | all tests accordingly. Fixes PR13351. Patch by shinichiro hamaji! llvm-svn: 160899
* The end of the prologue should be marked with is_stmt.Eric Christopher2012-07-121-1/+1
| | | | | | | | Fixes PR13303. Patch by Paul Robinson! llvm-svn: 160148
* Fix PR13202 and a regtest.Alexey Samsonov2012-07-061-0/+6
| | | | | | | | | | | | | DwarfDebug class could generate the same (inlined) DIVariable twice: 1) when trying to find abstract debug variable for a concrete inlined instance. 2) when explicitly collecting info for variables that were optimized out. This change makes sure that this duplication won't happen and makes Clang pass "gdb.opt/inline-locals" test from gdb testsuite. Reviewed by Eric Christopher. llvm-svn: 159811
* The DIBuilder class is just a wrapper around debug info creationBill Wendling2012-06-291-2/+2
| | | | | | | (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. llvm-svn: 159414
* Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp andBill Wendling2012-06-281-1/+1
| | | | | | | | | 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
* Fix a FIXME: DwarfRequiresRelocationForSectionOffset is the same asRafael Espindola2012-06-221-1/+1
| | | | | | DwarfUsesRelocationsAcrossSections. llvm-svn: 158992
* Emit relocations for DW_AT_location entries on systems which need it. This isNick Lewycky2012-06-221-4/+8
| | | | | | a recommit of r127757. Fixes PR9493. Patch by Paul Robinson! llvm-svn: 158957
* Allocate the contents of DwarfDebug's StringMaps in a single big ↵Benjamin Kramer2012-06-091-0/+1
| | | | | | BumpPtrAllocator. llvm-svn: 158265
* Switch all register list clients to the new MC*Iterator interface.Jakob Stoklund Olesen2012-06-011-2/+3
| | | | | | | | | | | | | No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). llvm-svn: 157854
* Remove duplicate code that we could just fallthrough to.Eric Christopher2012-05-181-1/+0
| | | | llvm-svn: 157060
* Fix thinko in conditional.Eric Christopher2012-05-081-1/+1
| | | | | | Part of rdar://11352000 and should bring the buildbots back. llvm-svn: 156421
* Handle OpDeref in case it comes in as a register operand.Eric Christopher2012-05-081-3/+5
| | | | | | Part of rdar://11352000 llvm-svn: 156405
* Patch to set is_stmt a little better for prologue lines in a function.Eric Christopher2012-04-051-2/+5
| | | | | | | | | This enables debuggers to see what are interesting lines for a breakpoint rather than any line that starts a function. rdar://9852092 llvm-svn: 154120
* Fix thinko check for number of operands to be the one that actuallyEric Christopher2012-04-031-1/+1
| | | | | | | | | might have more than 19 operands. Add a testcase to make sure I never screw that up again. Part of rdar://11026482 llvm-svn: 153961
* Add a line number for the scope of the function (starting at the firstEric Christopher2012-04-031-3/+10
| | | | | | | | | | brace) so that we get more accurate line number information about the declaration of a given function and the line where the function first starts. Part of rdar://11026482 llvm-svn: 153916
* Turn on the accelerator tables for Darwin.Eric Christopher2012-04-021-0/+6
| | | | llvm-svn: 153880
* Use DW_AT_low_pc for a single entry point into a routine.Eric Christopher2012-03-271-3/+3
| | | | | | Fixes PR10105 llvm-svn: 153524
* Use the file in the inlined die rather than the compile unit forEric Christopher2012-03-261-1/+2
| | | | | | | | | | | | | | backtrace locations. Testcase forthcoming, but I wanted to get some testing here. Should fix: PR12323 PR12314 rdar://11091100 llvm-svn: 153471
* DwarfDebug: Store the filename/dirname pair as a zero-separated string in a ↵Benjamin Kramer2012-03-111-11/+10
| | | | | | stringmap, instead of using a highly inefficient std::map of a pair of std::strings. llvm-svn: 152541
* Use uint16_t to store register overlaps to reduce static data.Craig Topper2012-03-041-1/+1
| | | | llvm-svn: 152001
* Grammar-o in function name.Eric Christopher2012-03-021-2/+2
| | | | llvm-svn: 151875
* If the linkage name doesn't exist we're supposed to emit a referenceEric Christopher2012-03-021-4/+3
| | | | | | to the string table for the function name, not the function name. llvm-svn: 151873
* Revert "Reorder the sections being output to reduce the number of assembler"Eric Christopher2012-03-021-3/+3
| | | | | | | | | The inline table needs to be constructed ahead of time so that it doesn't try to create new strings while we're emitting everything. This reverts commit a8ff9bccb399183cdd5f1c3cec2bda763664b4b0. llvm-svn: 151864
* Reorder the sections being output to reduce the number of assemblerEric Christopher2012-03-011-3/+3
| | | | | | | | | fixups that are being used to determine section offsets. Reduces the total number of fixups by 50% for a non-trivial testcase. Part of rdar://10413936 llvm-svn: 151852
* Minimal changes for LLVM to compile under VS11.Michael J. Spencer2012-03-011-1/+1
| | | | llvm-svn: 151849
* Add the source language into the compile unit.Eric Christopher2012-02-221-1/+1
| | | | llvm-svn: 151143
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-051-5/+3
| | | | llvm-svn: 149816
* Remove generation of DW_AT_sibling. Nothing as far as I can tell uses it.Eric Christopher2012-01-241-7/+0
| | | | | | | | Saves about 1.5% on debug info size. rdar://10278198 llvm-svn: 148794
* Use const vector references instead of a vector copy. Spotted by Devang.Eric Christopher2012-01-061-4/+4
| | | | llvm-svn: 147694
* As part of the ongoing work in finalizing the accelerator tables, extendEric Christopher2012-01-061-8/+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
* Extraneous whitespace and 80-col.Eric Christopher2011-12-161-3/+2
| | | | llvm-svn: 146780
* Add inline subprogram names to the name lookup table since they mayEric Christopher2011-12-041-0/+4
| | | | | | not get there any other way. llvm-svn: 145789
* Move global variables in TargetMachine into new TargetOptions class. As an APINick Lewycky2011-12-021-1/+1
| | | | | | | | | | | | change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
* The dwarf standard says that the only differences between a out-of-lineRafael Espindola2011-11-121-0/+7
| | | | | | | | | | | | | | instance and a concrete inlined instance are the use of DW_TAG_subprogram instead of DW_TAG_inlined_subroutine and the who owns the tree. We were also omitting DW_AT_inline from the abstract roots. To fix this, make sure we mark abstract instance roots with DW_AT_inline even when we have only out-of-line instances referring to them with DW_AT_abstract_origin. FileCheck is not a very good tool for tests like this, maybe we should add a -verify mode to llvm-dwarfdump. llvm-svn: 144441
* Check in getOrCreateSubprogramDIE if a declaration exists and if so outputRafael Espindola2011-11-101-12/+0
| | | | | | | | it first. This is a more general fix to pr11300. llvm-svn: 144324
* Make types and namespaces take multiple DIEs for the accelerator tablesEric Christopher2011-11-101-8/+12
| | | | | | as well. llvm-svn: 144319
OpenPOWER on IntegriCloud