summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* Fix DenseMap iterator constness.Jeffrey Yasskin2009-11-101-1/+1
| | | | | | | | | | | | | | | | | | | This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! llvm-svn: 86636
* Fix comment typos.Bob Wilson2009-11-061-3/+3
| | | | llvm-svn: 86295
* Do not bother to emit debug info for nameless global variable.Devang Patel2009-11-061-2/+2
| | | | llvm-svn: 86259
* Do not try to emit debug info entry for dead global variable.Devang Patel2009-11-061-1/+6
| | | | llvm-svn: 86212
* Factor out the printing of the leading tab into printInlineAsm.Dan Gohman2009-11-061-0/+2
| | | | llvm-svn: 86199
* Fix the label name generation for address-taken labels to avoid potentialDan Gohman2009-11-051-6/+10
| | | | | | problems with name collisions. llvm-svn: 86189
* While calculating original type size for a derived type, handle type ↵Devang Patel2009-11-041-3/+1
| | | | | | | | variants encoded as DIDerivedType appropriately. This improves bitfield support. llvm-svn: 86073
* Fix DW_AT_data_member_location for bit-fields. It points to the location of ↵Devang Patel2009-11-041-5/+12
| | | | | | annonymous field that covers respective field. llvm-svn: 86054
* Array element size does not match array size but array is not a bitfield. Devang Patel2009-11-041-1/+3
| | | | llvm-svn: 86043
* Print out an informative comment for KILL instructions.Jakob Stoklund Olesen2009-11-041-0/+11
| | | | | | | | The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. llvm-svn: 86041
* Ignore unnamed variables.Devang Patel2009-11-031-1/+3
| | | | llvm-svn: 85909
* Fix a funky "declared with greater visibility than the type of its field"Jeffrey Yasskin2009-11-031-2/+2
| | | | | | warning from gcc by removing VISIBILITY_HIDDEN attributes. llvm-svn: 85873
* Fix a missing newline in the dwarf output code.Dan Gohman2009-10-311-0/+1
| | | | llvm-svn: 85684
* Add support for BlockAddress static initializers.Dan Gohman2009-10-301-0/+2
| | | | llvm-svn: 85562
* Add a FIXME comment.Dan Gohman2009-10-301-0/+2
| | | | llvm-svn: 85559
* Add some comments.Dan Gohman2009-10-301-0/+8
| | | | llvm-svn: 85558
* Initial target-independent CodeGen support for BlockAddresses.Dan Gohman2009-10-301-0/+27
| | | | llvm-svn: 85556
* Do not held on to DenseMap slot accross map insertion. The insertion may ↵Devang Patel2009-10-272-22/+26
| | | | | | | | cause the map to grow rending the slot invalid. Use this opportunity to use ValueMap instead of DenseMap. llvm-svn: 85298
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-251-1/+0
| | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* Tidying up some code and comments. No functionality change.Bill Wendling2009-10-221-24/+6
| | | | llvm-svn: 84894
* Do not emit name entry for a pointer type.Devang Patel2009-10-161-1/+1
| | | | llvm-svn: 84276
* If there is not any llvm instruction associated with each lexical scope ↵Devang Patel2009-10-161-2/+10
| | | | | | encoded in debug info then create such scope on demand for variable info. llvm-svn: 84262
* Add support to record DbgScope as inlined scope.Devang Patel2009-10-142-25/+44
| | | | llvm-svn: 84134
* s/DebugLoc.CompileUnit/DebugLoc.Scope/gDevang Patel2009-10-132-12/+13
| | | | | | s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g llvm-svn: 84054
* Fix a -Asserts warning.Daniel Dunbar2009-10-131-2/+3
| | | | llvm-svn: 83950
* Find enclosing subprogram info.Devang Patel2009-10-121-1/+19
| | | | llvm-svn: 83922
* Extract scope information from the variable itself, instead of relying on ↵Devang Patel2009-10-092-22/+31
| | | | | | | | alloca or llvm.dbg.declare location. While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself. llvm-svn: 83684
* Check invalid debug info for enums. This may happen when underlyng enum is ↵Devang Patel2009-10-091-2/+4
| | | | | | optimized away. Eventually DwarfChecker will clean this up during llvm verification stage. llvm-svn: 83655
* Do not record line number to implicitly mark start of function if function ↵Devang Patel2009-10-082-12/+23
| | | | | | has arguments. Extra line number entries trip gdb in some cases. llvm-svn: 83563
* Add support to handle debug info attached to an instruction.Devang Patel2009-10-063-6/+23
| | | | | | This is not yet enabled. llvm-svn: 83400
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-061-2/+10
| | | | | | | | | | verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
* Fix cut-n-pasto.Devang Patel2009-10-061-1/+1
| | | | llvm-svn: 83367
* Update processDebugLoc() so that it can be used to process debug info before ↵Devang Patel2009-10-061-6/+8
| | | | | | and after printing an instruction. llvm-svn: 83363
* Remove dead code.Devang Patel2009-10-062-23/+0
| | | | llvm-svn: 83362
* Add utility routine to set begin and end labels for DbgScopes.Devang Patel2009-10-062-0/+31
| | | | | | This will be used by processDebugLoc(). llvm-svn: 83361
* Remove unintentional function decl.Devang Patel2009-10-061-1/+0
| | | | llvm-svn: 83356
* Add utility routine to collect variable debug info. This is not yet used.Devang Patel2009-10-062-0/+17
| | | | llvm-svn: 83355
* Existence of a compile unit for input source file is a good indicator to ↵Devang Patel2009-10-061-10/+1
| | | | | | check debug info's presence in a module. llvm-svn: 83348
* If subprogram die is not available then construct new one.Devang Patel2009-10-051-0/+4
| | | | | | This can happen if debug info is processed lazily. llvm-svn: 83347
* Adjust context for the global variables that are not at file scope, e.g.Devang Patel2009-10-052-2/+22
| | | | | | | void foo() { static int bar = 42; } Here, foo's DIE is parent of bar's DIE. llvm-svn: 83344
* Set address while constructing DIE.Devang Patel2009-10-051-7/+8
| | | | llvm-svn: 83343
* Gracefully handle various scopes while recording source line info.Devang Patel2009-10-051-4/+21
| | | | llvm-svn: 83317
* strength reduce a ton of type equality tests to check the typeid (ThroughChris Lattner2009-10-051-4/+10
| | | | | | | | the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
* Add support to extract lexical scope information from DebugLoc attached with ↵Devang Patel2009-10-012-1/+143
| | | | | | | | an machine instruction. This is not yet enabled. llvm-svn: 83210
* Record first and last instruction of a scope in DbgScope.Devang Patel2009-10-011-2/+8
| | | | llvm-svn: 83207
* Add another MDNode into DebugLocTuple. This will be used to keep track of ↵Devang Patel2009-10-011-1/+1
| | | | | | inlined functions. llvm-svn: 83190
* Use MachineInstr as an processDebugLoc() argument.Devang Patel2009-09-301-2/+2
| | | | | | This will allow processDebugLoc() to handle scopes for DWARF debug info. llvm-svn: 83183
* Use MDNode * directly as an RecordSourceLine() argument.Devang Patel2009-09-304-9/+9
| | | | llvm-svn: 83182
* Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use thisBob Wilson2009-09-301-2/+4
| | | | | | | | | | | | | | | | to emit target-specific things at the beginning of the asm output. This fixes a problem for PPC, where the text sections are not being kept together as expected. The base class doInitialization code calls DW->BeginModule() which emits a bunch of DWARF section directives. The PPC doInitialization code then emits all the TEXT section directives, with the intention that they will be kept together. But as I understand it, the Darwin assembler treats the default TEXT section as a special case and moves it to the beginning of the file, which means that all those DWARF sections are in the middle of the text. With this change, the EmitStartOfAsmFile hook is called before the DWARF section directives are emitted, so that all the PPC text section directives come out right at the beginning of the file. llvm-svn: 83176
OpenPOWER on IntegriCloud