History log of /external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cddc3e03e4ec99c0268c03a126195173e519ed58 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

(cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383)

Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6948897e478cbd66626159776a8017b3c18579b9 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r239765

Bug: 20140355: This rebase pulls the upstream fix for the spurious
warnings mentioned in the bug.

Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0c7f116bb6950ef819323d855415b2f2b0aad987 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r235153

Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8da7540802d67336892deeac3385442e0400333c 19-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfDebug: Move trailing else to the same line as prior closing brace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d6dffb40cb05909dd6289e6dc37c25359ab14b52 19-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfDebug: Remove some more redundant explicit constructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
08e51e1d97e4dd2e5a0b4539da186869916ae5c3 17-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfCompileUnit: Add type safety to createGlobalVariableDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
87fd14d9b52079828c5db4e1e4878046a7488f81 16-Nov-2013 Eric Christopher <echristo@gmail.com> For dwarf4 use the correct form for referencing debug_loc locations,
and update test cases accordingly.

This doesn't affect the output dumped using llvm-dwarfdump, but
readelf does now dump the debug_loc section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b8677109452dc3f106f931edab2d1ccaf1d06b1 16-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfCompileUnit: Add type safety to CompileUnit::getNode by returning DICompileUnit instead of a raw MDNode*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
942431fa710f186f11538eebdf3dc4a6b824a6ba 16-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfCompileUnit: Add type safety by using DICompileUnit rather than raw MDNode* for the CU metadata node

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
14f41e7e1811b0c504c82865bd6828acfee82527 16-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfDebug: Push DISubprogram through updateSubprogramScopeDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cbc85a270d2546c49fc09f700687de2ecd46bd87 16-Nov-2013 David Blaikie <dblaikie@gmail.com> DwarfCompileUnit: Push DIDescriptors through a getDIE/insertDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b641815290f34f0212e4cb7b26ed1708270cb97 15-Nov-2013 Eric Christopher <echristo@gmail.com> Use a reference rather than a pointer as we don't expect a NULL
DbgVariable.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31ed50c225c8de764c899e31ab4e25f242ce0b78 02-Nov-2013 Eric Christopher <echristo@gmail.com> Comment some and reformat for clarity beginFunction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b8b70e10a2b3f252314e0d176379778fe8f3b582 31-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: remove duplication of DIEs when a DIE can be shared across CUs.

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1d36113c05e611c0fba9b872b5f03eca9848bd69 30-Oct-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Push header handling down into CompileUnit

This is a preliminary step to handling type units by abstracting over
all (type or compile) units.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8e8e6dc41ff295a297fb517683be89b5509dabc2 30-Oct-2013 David Blaikie <dblaikie@gmail.com> DwarfDebug: Change Abbreviations member from pointer to reference

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
38856f8bed12da9459a3eb958a1c8df68bf0aced 30-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: code clean up.

Use EmitLabelOffsetDifference for handling on darwin platform when
non-darwin platforms use EmitLabelPlusOffset.

Also fix a bug in EmitLabelOffsetDifference where the size is hard-coded
to 4 even though Size is passed in as an argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3eabc2adb7387c97da547e250997ed0a8d5e6d3d 29-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: support for DW_FORM_ref_addr.

To support ref_addr, we calculate the section offset of a DIE (i.e. offset
of a DIE from beginning of the debug info section). The Offset field in DIE
is currently CU-relative. To calculate the section offset, we add a
DebugInfoOffset field in CompileUnit to store the offset of a CU from beginning
of the debug info section. We set the value in DwarfUnits::computeSizeAndOffset
for each CompileUnit.

A helper function DIE::getCompileUnit is added to return the CU DIE that
the input DIE belongs to. We also add a map CUDieMap in DwarfDebug to help
finding the CU for a given CU DIE.

For a cross-referenced DIE, we first find the CU DIE it belongs to with
getCompileUnit, then we use CUDieMap to get the corresponding CU for the CU DIE.
Adding the section offset of the CU with the CU-relative offset of a DIE gives
us the seciton offset of the DIE.

We correctly emit ref_addr with relocation using EmitLabelPlusOffset when
doesDwarfUseRelocationsAcrossSections is true.

This commit handles the emission of DW_FORM_ref_addr when we have an attribute
with FORM_ref_addr. A follow-on patch will start using ref_addr when adding a
DIEEntry. This commit will be tested and verified in the follow-on patch.

Reviewed off-list by Eric, Thanks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8ef9cebb68d6305e197c3e0b8369aa3c57570bbf 29-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: use createAndAddDIE to wrap around "new DIE" in DwarfDebug.

This commit ensures DIEs are constructed within a compile unit and
immediately added to their parents.

Reviewed off-list by Eric.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9e39e0d56d105f97b9d8f851403619bb0d9f780d 25-Oct-2013 David Blaikie <dblaikie@gmail.com> DWARF emission: Remove unnecessary/redundant DIE reference code

The default case at the end of the switch handles this just fine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
39cd7d48c07f6d8d104432a6b671c9cb3ede2b75 24-Oct-2013 Eric Christopher <echristo@gmail.com> Update misleading comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
377e83202cb40849d384ddede39f9468af197427 24-Oct-2013 David Blaikie <dblaikie@gmail.com> DIEHash: Const correct and use references where non-null/non-rebound.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d56c9db9603c3e2edf43405142dee60559559919 22-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: code clean up.

Remove unnecessary creation of LexicalScope in collectDeadVariables.
The created LexicialScope was only used to get isAbstractScope, which
should be false from the creation:
"new LexicalScope(NULL, DIDescriptor(SP), NULL, false);".

We can also remove a DenseMap that holds the created LexicalScopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8348b7d4003e4c404ef3f054001de499f24676c9 22-Oct-2013 Eric Christopher <echristo@gmail.com> Formatting/whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
770530babc78e444bb6d0aadc87702ef138293fd 21-Oct-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Put each kind of constant (form, attribute, tag, etc) into its own enum for ease of use.

This allows various variables to be more self-documenting and easier to
debug by being of specific types without overlapping enum values.

Precommit review by Eric Christopher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3c58aad3bc10f888c08c82520ea5b6f629fb91ba 18-Oct-2013 Eric Christopher <echristo@gmail.com> Revert the rest of r192749 to bring back the buildbot. These two
error messages should not be able to occur at the same time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1c165b8ee38c4d960bb4cdd86bc54df144cf5e84 18-Oct-2013 Eric Christopher <echristo@gmail.com> Temporarily revert r192749 as it is causing problems for LTO and
requires a more in depth change to the IR structure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9198657e1eb13ab717248cfacb2b504fd7e72719 17-Oct-2013 Eric Christopher <echristo@gmail.com> According to the dwarf standard pubnames and pubtypes for languages
like C++ should be the fully qualified names for the type.

Add a routine that does a language specific context walk to build
up the qualified name and use it when we add types/names to the
tables. Expand the gnu pubnames testcase as it's the most complex
to make sure that qualified types are also being added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a486f55569c584d00cfdde43a8755d68cdb68c4f 16-Oct-2013 Eric Christopher <echristo@gmail.com> Fix a pair of bugs in the emission of pubname tables:

1) Make sure we emit static member variables by checking
at the end of createGlobalVariableDIE rather than piecemeal
in the function.
(As a note, createGlobalVariableDIE needs rewriting.)

2) Make sure we use the definition rather than declaration DIE
for two things: a) determining linkage for gnu pubnames, and b)
as the address of the DIE for global variables.
(As a note, createGlobalVariableDIE really needs rewriting.)

Adjust the testcase to make sure we're checking the correct DIEs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c622824ccbb74ac726c656ebc98647810d152cce 16-Oct-2013 Eric Christopher <echristo@gmail.com> Make sure we're not attempting to construct a subprogram DIE
twice and just look up the value. Fix the one case where
we were trying to create a subprogram DIE and we should already
have had one. Reflow formatting in collectDeadVariables while fixing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
73df4b9f5742023838ffa4eb36638a437e728193 15-Oct-2013 Adrian Prantl <aprantl@apple.com> Remove some dead code. (DarwinGDBCompat was retired in r189903).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
87b110ac24063a7a48a9d1273e6db596baab78a0 12-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: remove form from function addDIEEntry.

The form must be a reference form in addDIEEntry. Which reference form to
use will be decided by the callee.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b8e48a636e7ee6c13140382eb93d9695a65b0624 10-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: In DIBuilder, the context field of subprogram is updated to use
DIScopeRef.

A paired commit at clang is required due to changes to DIBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8199f0bc7722a4d93099cafdb30fa465a2746ce8 08-Oct-2013 Manman Ren <manman.ren@gmail.com> Add DbgVariable::resolve per Eric's suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5e195a4c8d8cd4498ab7e0aa16a3b6f273daf457 05-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove some really nasty uses of hasRawTextSupport.

When MC was first added, targets could use hasRawTextSupport to keep features
working before they were added to the MC interface.

The design goal of MC is to provide an uniform api for printing assembly and
object files. Short of relaxations and other corner cases, a object file is
just another representation of the assembly.

It was never the intention that targets would keep doing things like

if (hasRawTextSupport())
Set flags in one way.
else
Set flags in another way.

When they do that they create two code paths and the object file is no longer
just another representation of the assembly. This also then requires testing
with llc -filetype=obj, which is extremelly brittle.

This patch removes some of these hacks by replacing them with smaller ones.
The ARM flag setting is trivial, so I just moved it to the constructor. For
Mips, the patch adds two temporary hack directives that allow the assembly
to represent the same things as the object file was already able to.

The hope is that the mips developers will replace the hack directives with
the same ones that gas uses and drop the -print-hack-directives flag.

I will also try to implement a target streamer interface, so that we can
move this out of the common code.

In summary, for any new work, two rules of the thumb are
* Don't use "llc -filetype=obj" in tests.
* Don't add calls to hasRawTextSupport.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c664d76716ba87577b6c2a513ce4fe0712a2d3e2 05-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type
is updated to use DITypeRef.

Move isUnsignedDIType and getOriginalTypeSize from DebugInfo.h to be static
helper functions in DwarfCompileUnit. We already have a static helper function
"isTypeSigned" in DwarfCompileUnit, and a pointer to DwarfDebug is added to
resolve the derived-from field. All three functions need to go across link
for derived-from fields, so we need to get hold of a type identifier map.

A pointer to DwarfDebug is also added to DbgVariable in order to resolve the
derived-from field.

Debug info verifier is updated to check a derived-from field is a TypeRef.
Verifier will not go across link for derived-from fields, in debug info finder,
we go across the link to add derived-from fields to types.

Function getDICompositeType is only used by dragonegg and since dragonegg does
not generate identifier for types, we use an empty map to resolve the
derived-from field.

When printing a derived-from field, we use DITypeRef::getName to either return
the type identifier or getName of the DIType.

A paired commit at clang is required due to changes to DIBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e7099f6ff48ee99e50aa8347b455255e3a893a12 04-Oct-2013 Eric Christopher <echristo@gmail.com> Temporarily revert r176882 as it needs to be implemented in a different
way for all platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3f045005bf96b6521b2769fc824283589bfa133a 04-Oct-2013 Eric Christopher <echristo@gmail.com> Temporarily revert r191792 as it is causing some LTO debug failures
on platforms with relocations in debug info and also temporarily
revert r191800 due to conflicts with the revert of r191792.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7c9659a3b297be6298ffae4656b86797295c5d58 04-Oct-2013 Richard Mitton <richard@codersnotes.com> Fixed a bug with section names containing special characters.

Changed the dwarf aranges code to not use getLabelEndName, as it turns out it's not reliable to call that given user-defined section names. Section names can have characters in that aren't representable as symbol names.

The dwarf-aranges test case has been updated to include a special character, to check this.

This fixes pr17416.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e5830c4e2603ab36f08911ff6bb117638ae529c7 03-Oct-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Avoid redundantly adding child DIEs to parents.

DIE::addChild had a shortcircuit that silently no-op'd when a child was
readded to the same parent. This hid some quirky/redundant code in
DwarfDebug/CompileUnit. By removing that functionality and replacing it
with an assert I was able to find and cleanup those cases, mostly
centering around adding members to types in various circumstances.

1) The original oddity I noticed while working on type units (which
actually was helping me in the short term, by accident) was the
addToContextOwner call in constructTypeDIE. This call was completely
bogus (why was it only done for non-virtual types? what relevance does
that have at all) and redundant with the more uniform addToContextOwner
made in getOrCreateTypeDIE.

2) If a member function definition was visited (createSubprogramDIE), it
would attempt to build the member function declaration. The declaration
DIE would then be added to its context, but in building the context (the
type for which this function is a member) the members of the type would
be added to the type automatically, so by the time the context was
constructed, the member function was already associated with it.

3) The same as (2) but without the member function being constructed
first. Whenever a type was constructed, the members would be created and
member functions would be created by getOrCreateSubprogramDIE - this
would lead to the subprogram being added to the (incomplete) type
already, then the general member-construction code would add it again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
45fae28db7ccc4f9d40f4b4d3fb35676826dfdc0 03-Oct-2013 Eric Christopher <echristo@gmail.com> Make sure we emit a section for pubnames even if that section is
going to be empty. This is particularly important for the gnu
pubnames case since we're emitting a relocation to the section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7c9fc90c75a2b7cf18dd725484aba0af55b44b33 03-Oct-2013 Eric Christopher <echristo@gmail.com> Fix cut and paste typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9d08d69fd4562a4433cf19eb4b96c17b34f6da2e 03-Oct-2013 Alexey Samsonov <samsonov@google.com> Remove wild .debug_aranges entries generated from unimportant labels

r191052 added emitting .debug_aranges to Clang, but this
functionality is broken: it uses all MC labels added in DWARF Asm
printer, including the labels for build relocations between
different DWARF sections, like .Lsection_line or .Ldebug_loc0.

As a result, if any DIE .debug_info would contain "DW_AT_location=0x123"
attribute, .debug_aranges would also contain a range starting from 0x123,
breaking tools that rely on this section.

This patch fixes this by using only MC labels that corresponds to the
addresses in the user program.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2b53089bd017139f0125b870ace94ff27dffd2ff 02-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type
is updated to use DITypeRef.

Move isUnsignedDIType and getOriginalTypeSize from DebugInfo.h to be static
helper functions in DwarfCompileUnit. We already have a static helper function
"isTypeSigned" in DwarfCompileUnit, and a pointer to DwarfDebug is added to
resolve the derived-from field. All three functions need to go across link
for derived-from fields, so we need to get hold of a type identifier map.

A pointer to DwarfDebug is also added to DbgVariable in order to resolve the
derived-from field.

Debug info verifier is updated to check a derived-from field is a TypeRef.
Verifier will not go across link for derived-from fields, in debug info finder,
we go across the link to add derived-from fields to types.

Function getDICompositeType is only used by dragonegg and since dragonegg does
not generate identifier for types, we use an empty map to resolve the
derived-from field.

When printing a derived-from field, we use DITypeRef::getName to either return
the type identifier or getName of the DIType.

A paired commit at clang is required due to changes to DIBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
620f436b205ab75e1dd48b9af8823bc30c53fd0e 01-Oct-2013 Manman Ren <manman.ren@gmail.com> Debug Info: remove duplication of DIEs when a DIE is part of the type system
and it is shared across CUs.

We add a few maps in DwarfDebug to map MDNodes for the type system to the
corresponding DIEs: MDTypeNodeToDieMap, MDSPNodeToDieMap, and
MDStaticMemberNodeToDieMap. These DIEs can be shared across CUs, that is why we
keep the maps in DwarfDebug instead of CompileUnit.

Sometimes, when we try to add an attribute to a DIE, the DIE is not yet added
to its owner yet, so we don't know whether we should use ref_addr or ref4.
We create a worklist that will be processed during finalization to add
attributes with the correct form (ref_addr or ref4).

We add addDIEEntry to DwarfDebug to be a wrapper around DIE->addValue. It checks
whether we know the correct form, if not, we update the worklist
(DIEEntryWorklist).

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
451c71d67b1dd324dcd76d771cf05bf7721bdc59 01-Oct-2013 Eric Christopher <echristo@gmail.com> Add the DW_AT_GNU_ranges_base attribute if we've emitted any ranges
into the debug_ranges section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
08bd923be85d27d396c82fda7ef417c6d357bf9e 01-Oct-2013 Eric Christopher <echristo@gmail.com> Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a6d841561b1b7e3f32e1f77e35982d8cfd0f515e 01-Oct-2013 Eric Christopher <echristo@gmail.com> The DW_AT_GNU_pubnames/pubtypes attributes are actually form
SEC_OFFSET from the beginning of the section so go ahead and emit
a label at the beginning of each one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b15e9893d8dc71127e722d122214d6ec5d89d0e 28-Sep-2013 Eric Christopher <echristo@gmail.com> Unify conditionals and reformat.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a31a975e54074f39d9d1643763f800ed138510a5 24-Sep-2013 Eric Christopher <echristo@gmail.com> Rename IsStatic variable to Linkage in order to be a bit more descriptive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cdeaae4f75fa2716bdc749b812273ac046344091 23-Sep-2013 Eric Christopher <echristo@gmail.com> Handle gnu pubtypes sections:

a) Make sure we are emitting the correct section in our section labels
when we begin the module.
b) Make sure we are emitting the correct pubtypes section in the
presence of gnu pubtypes.
c) For C++ struct, union, class, and enumeration types are default
external.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eb46def978a60fd705cca3037feff5573122b404 23-Sep-2013 Richard Mitton <richard@codersnotes.com> Fixed debug_aranges handling for common symbols.

The size of common symbols is now tracked correctly, so they can be listed in the arange section without needing knowledge of other following symbols.

.comm (and .lcomm) do not indicate to the system assembler any particular section to use, so we have to treat them as having no section.

Test case update to account for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9e0b08dd2053843fd330774cdbac06a7b0191f14 21-Sep-2013 Eric Christopher <echristo@gmail.com> Move emission of the debug string table to early in the debug
info finalization to greatly reduce the number of fixups that the
assembler has to handle in order to improve compile time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ac3f016599ac50a4777b0348c43892c041ef489b 20-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: GDBIndexEntry*String conversion functions now return const char* for easy llvm::formating

This was previously invoking UB by passing a user-defined type to
format. Thanks to Jordan Rose for pointing this out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5cc319a42a914b24b164a94d9a563c728a7a4026 20-Sep-2013 Richard Mitton <richard@codersnotes.com> Added support for generate DWARF .debug_aranges sections automatically.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
994c37fcb001bc5a53bf2c676009b327b882d765 20-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: llvm-dwarfdump support for gnu_pubnames section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
18a6ade6cd638c1e5d2c7c7d044cec0fec5c63d3 20-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Improve IR annotation comments for GNU pubthings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9599f51559c692bb20092da23e3a34b2cc841e03 19-Sep-2013 David Blaikie <dblaikie@gmail.com> Unshift the GDB index/GNU pubnames constants modified in r191025

Based on code review feedback from Eric Christopher, unshifting these
constants as they can appear in the gdb_index itself, shifted a further
24 bits. This means that keeping them preshifted is a bit inflexible, so
let's not do that.

Given the motivation, wrap up some nicer enums, more type safety, and
some utility functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ecb41cfe36c9e60664c95970bfae82e4cf7397c5 19-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Simplify gnu_pubnames index computation.

Names open to bikeshedding. Could switch back to the constants being
unshifted, but this way seems a bit easier to work with.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e56a4d9236336910cf46976c22dc767ebc8ced43 19-Sep-2013 David Blaikie <dblaikie@gmail.com> Remove unnecessary conditional operators performing bool->bool conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
08b5ff7f5809ece849f1fdcd7e011aa175c31516 19-Sep-2013 David Blaikie <dblaikie@gmail.com> Fix a typo and simplify a boolean expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8f1a9299de0333c8c310b7580ea63ba5b7a3c400 13-Sep-2013 Eric Christopher <echristo@gmail.com> Add initial support for handling gnu style pubnames accepted by some
versions of gold. This support is designed to allow gold to produce
gdb_index sections similar to the accelerator tables and consumable
by gdb.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5704d640abd96f8614ad4be555fcf1049c500bcd 13-Sep-2013 Eric Christopher <echristo@gmail.com> Reformat and hoist section grabbing to top level.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
995de6cddf74cdd7fb46b1ba53f4442df28be8ed 11-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug info: add more comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
21a6a5013d30d0515bc36da1ef49fa7c2e838f16 10-Sep-2013 Eric Christopher <echristo@gmail.com> Hoist section call out of loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fd2210a78dc621d3fb5c3613ff59b341041b3a4b 10-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: create scope children DIEs when the scope DIE is not null.

We try to create the scope children DIEs after we create the scope DIE. But
to avoid emitting empty lexical block DIE, we first check whether a scope
DIE is going to be null, then create the scope children if it is not null.
From the number of children, we decide whether to actually create the scope DIE.

This patch also removes an early exit which checks for a special condition.
It also removes deletion of un-used children DIEs that are generated
because we used to generate children DIEs before the scope DIE.

Deletion of un-used children DIEs may cause problem because we sometimes keep
created DIEs in a member variable of a CU.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c46deb1d07f4588ee70059cdd4c7145f81bc8e8 10-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: define a DIRef template.

Specialize the constructors for DIRef<DIScope> and DIRef<DIType> to make sure
the Value is indeed a scope ref and a type ref.

Use DIScopeRef for DIScope::getContext and DIType::getContext and use DITypeRef
for getContainingType and getClassType.

DIScope::generateRef now returns a DIScopeRef instead of a "Value *" for
readability and type safety.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e72aba9c0ff5b19128f54b09a36d2f4c2a53b40b 10-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: move DIScope::getContext back from DwarfDebug.

This partially reverts r190330. DIScope::getContext now returns DIScopeRef
instead of DIScope. We construct a DIScopeRef from DIScope when we are
dealing with subprogram, lexical block or name space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
28b020d373a0706afc19c869ac4efce4a83e6090 09-Sep-2013 Eric Christopher <echristo@gmail.com> Always add global names. We're adding them in the rest of the code
as well as types.

No functional change as they're not emitted unless the option
is true anyhow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
574793250890a55103c53f5ffaf6933db1e2e388 09-Sep-2013 Eric Christopher <echristo@gmail.com> Rename for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c9905a1f3bcf22cc2f93332cc8411d11798ba07 09-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: Use DIScopeRef for DIType::getContext.

In DIBuilder, the context field of a TAG_member is updated to use the
scope reference. Verifier is updated accordingly.

DebugInfoFinder now needs to generate a type identifier map to have
access to the actual scope. Same applies for BreakpointPrinter.

processModule of DebugInfoFinder is called during initialization phase
of the verifier to make sure the type identifier map is constructed early
enough.

We are now able to unique a simple class as demonstrated by the added
testing case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
18eb245a2e5ec41b5da1367d5f7e7619532f7ceb 09-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: move DIScope::getContext to DwarfDebug.

DIScope::getContext is a wrapper function that calls the specific getContext
method on each subclass. When we switch DIType::getContext to return DIScopeRef
instead of DIScope, DIScope::getContext can no longer return a DIScope without
a type identifier map.

DIScope::getContext is only used by DwarfDebug, so we move it to DwarfDebug
to have easy access to the type identifier map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
02d296759cd53f2d6081fd307c4d81cc41f2c9ed 09-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: Move isSubprogramContext from DebugInfo to DwarfDebug.

This helper function needs the type identifier map when we switch
DIType::getContext to return DIScopeRef instead of DIScope.

Since isSubprogramContext is used by DwarfDebug only, We move it to DwarfDebug
to have easy access to the map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c573305bce147df68051a6dffef034c6210ab89c 09-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: Rename DITypeRef to DIScopeRef.

A reference to a scope is more general than a reference to a type since
DIType is a subclass of DIScope.

A reference to a type can be either an identifier for the type or
the DIType itself, while a reference to a scope can be either an
identifier for the type (when the scope is indeed a type) or the
DIScope itself. A reference to a type and a reference to a scope
will be resolved in the same way. The only difference is in the
verifier when a field is a reference to a type (i.e. the containing
type field of a DICompositeType) or a field is a reference to a scope
(i.e. the context field of a DIType).

This is to get ready for switching DIType::getContext to return
DIScopeRef instead of DIScope.

Tighten up isTypeRef and isScopeRef to make sure the identifier is not
empty and the MDNode is DIType for TypeRef and DIScope for ScopeRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc66071baa3153ba95d673b8084383835221eef6 05-Sep-2013 Manman Ren <manman.ren@gmail.com> Debug Info: Use identifier to reference DIType in base type field of
ptr_to_member.

We introduce a new class DITypeRef that represents a reference to a DIType.
It wraps around a Value*, which can be either an identifier in MDString
or an actual MDNode. The class has a helper function "resolve" that
finds the actual MDNode for a given DITypeRef.

We specialize getFieldAs to return a field that is a reference to a
DIType. To correctly access the base type field of ptr_to_member,
getClassType now calls getFieldAs<DITypeRef> to return a DITypeRef.

Also add a typedef for DITypeIdentifierMap and a helper
generateDITypeIdentifierMap in DebugInfo.h. In DwarfDebug.cpp, we keep
a DITypeIdentifierMap and call generateDITypeIdentifierMap to actually
populate the map.

Verifier is updated accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
577056f89c840537b059ea4cef8d2ae18513cda0 05-Sep-2013 Eric Christopher <echristo@gmail.com> Move accelerator table defines and constants to Dwarf.h since
we're proposing it for DWARF5.

No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
efc47ec528c32f09fa32445f54ee966b462add0f 05-Sep-2013 Eric Christopher <echristo@gmail.com> Remove hack ensuring that darwin didn't produce dwarf > 3 for modules
without a limiting factor.

Update all testcases accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6509593cb64669d8d4416a83f1417f4e68632fa1 04-Sep-2013 Eric Christopher <echristo@gmail.com> Revert "Revert r189902 as the workaround shouldn't be necessary anymore."

Needs testcase updates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a42c7d5db12db0a2fe6ee26a65050d7f27f528bc 04-Sep-2013 Eric Christopher <echristo@gmail.com> Revert r189902 as the workaround shouldn't be necessary anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4dc211ae399343312137f0391f5e7d235ab15f24 04-Sep-2013 Eric Christopher <echristo@gmail.com> Unify and clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dc42d031fb5787733d6765d6fefc76d46a7a4c9b 04-Sep-2013 Michael Gottesman <mgottesman@apple.com> Revert "Revert "Remove the darwin gdb option, that version of gdb is now dead and the rest of the compatibility should be done on a dwarf-N level.""

This reverts commit r189913.

Talked with Eric on IRC. I am going to XFAIL the failing test since it
is using what Eric described as "the member hack" which was needed on
that old GDB.

Sorry for the noise!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
14ce9f1d253472b73689787c28808dd2ade6281d 04-Sep-2013 Michael Gottesman <mgottesman@apple.com> Revert "Remove the darwin gdb option, that version of gdb is now dead and the rest of the compatibility should be done on a dwarf-N level."

This reverts commit r189903.

This commit broke the phase 1 buildbot for a while.

http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/6684

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0a69049b6232a2183de23867c1fb2e4fa38ee093 04-Sep-2013 Eric Christopher <echristo@gmail.com> Remove the darwin gdb option, that version of gdb is now dead and
the rest of the compatibility should be done on a dwarf-N level.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
04031a6c2266c32b658e412147334d553990cfd5 04-Sep-2013 Eric Christopher <echristo@gmail.com> Make the default dwarf version 3 for darwin when we can't find one
in the module. Add a FIXME with a comment about darwin's ld.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2612354594d286501348a4ca4b72eaf11de77070 30-Aug-2013 Eric Christopher <echristo@gmail.com> Don't bother emitting the pubtypes section on darwin since there aren't
any maintained consumers of it on that platform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ab6cd837317872025b60495c3d34b4a4ef612690 30-Aug-2013 Eric Christopher <echristo@gmail.com> Reformat slightly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6b6345f0167fb9ddf60bdc51d616d7a9ae590442 28-Aug-2013 Eric Christopher <echristo@gmail.com> Remove support for the .debug_inlined section. No known software
in use supports it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
30410d5993f3c99da9102ccf6f78a63f9f64f252 27-Aug-2013 Eric Christopher <echristo@gmail.com> Make the lifetime of the DICompileUnit we're constructing from the
MDNode more clear as just for a single argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a9b2c79e266a29aac47b2c38b218ee8d9b052c15 27-Aug-2013 Eric Christopher <echristo@gmail.com> Have the skeleton compile unit construction method take the CU it
is constructing from as an input and keep the same unique identifier.
We can use this to connect items which must stay in the .o file
(e.g. pubnames and pubtypes) to the skeleton cu rather than having
duplicate unique numbers for the sections and needing to do lookups
based on MDNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4c65ab79a7bc1c7121fcba738464266dd8efd053 27-Aug-2013 Eric Christopher <echristo@gmail.com> Remove duplicate set of CompilationDir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b87895a6c7307a0ee809659abdaefe4a48b6bc6 27-Aug-2013 Eric Christopher <echristo@gmail.com> Remove the language parameter and variable from the compile unit. We
can get it via the MDNode that's passed in. Save that instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
63ae7c9aeca10f1028bb7232672ccefb2343ba08 27-Aug-2013 Eric Christopher <echristo@gmail.com> Treat the pubtypes section similarly to the pubnames section and emit
it by default under linux or when we're trying to keep compatibility
with old gdb versions.

Fix testcase for option name change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
978046bd070fbd3b9359922611b3fd5d3fd7ab96 27-Aug-2013 Eric Christopher <echristo@gmail.com> Only emit the section sym if we're emitting the section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
03be5e5b6e2d604313df5b7758bffcf5b0bb0ef0 26-Aug-2013 Eric Christopher <echristo@gmail.com> Fix thinko.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b6962f4be35aca7054ff68ef9bbbb2e03617d31 24-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> Add a function object to compare the first or second component of a std::pair.

Replace instances of this scattered around the code base.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4321d4e4a9b5786e990a9e731165f3ee3df6fa01 24-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> Simplify code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6bee6319c64d2c5dae98491f8a6ab65981708109 24-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Delete orphaned children.

Leak found by valgrind.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d7d43dc435f24e611d9d8090f6ca80a4998efd31 21-Aug-2013 David Majnemer <david.majnemer@gmail.com> DebugInfo: Do not use the DWARF Version for the .debug_pubnames or .debug_pubtypes version field

Summary:
LLVM would generate DWARF with version 3 in the .debug_pubname and
.debug_pubtypes version fields. This would lead SGI dwarfdump to fail
parsing the DWARF with (in the instance of .debug_pubnames) would exit
with:
dwarfdump ERROR: dwarf_get_globals: DW_DLE_PUBNAMES_VERSION_ERROR (123)

This fixes PR16950.

Reviewers: echristo, dblaikie

Reviewed By: echristo

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1454

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
05bae3bfe47b63976cfa63b4756d3e768dd9eebc 19-Aug-2013 Eric Christopher <echristo@gmail.com> Use less verbose code and update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f04e4efcaa02012b7943b44c61b321a0fb5e1a72 19-Aug-2013 Eric Christopher <echristo@gmail.com> Turn on pubnames by default on linux.

Until gdb supports the new accelerator tables we should add the
pubnames section so that gdb_index can be generated from gold
at link time. On darwin we already emit the accelerator tables
and so don't need to worry about pubnames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
46f0b6f10a6d50ba929f64cc3412bc1c35864a63 13-Aug-2013 Carlo Kok <ck@remobjects.com> Output DW_AT_stmt_list dwarf debug info as DW_FORM_sec_offset instead of DW_FORM_data4 as it is a section offset (fixes the coff/dwarf debug info statement locations)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0710bfa8667ea08ede15bf4f801f25418b4cefa0 13-Aug-2013 Eric Christopher <echristo@gmail.com> Add the start of DIE hashing for DWARF4 type units and split dwarf
CUs.

Currently only hashes the name of CUs and the names of any children,
but it's an obvious first step to show the framework. The testcase
should continue to be correct, however, as it's an empty TU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f962c02b80cc8b21c8ece92ab5dd67455a945361 12-Aug-2013 Eric Christopher <echristo@gmail.com> Move the addition of the dwo_id as late as possible after everything
has been finalized except for sizes and offsets. Update test accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0d27ca145fff7d71ca2da5d356925a1df6f533ca 09-Aug-2013 Eric Christopher <echristo@gmail.com> Move hash computation code into a separate class and file.

No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a1eacd020f3f7fe7f959ad44f206f71055454c45 08-Aug-2013 Eric Christopher <echristo@gmail.com> Reflow for loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31667626106048c07866d996e667a3a10010ef4b 08-Aug-2013 Eric Christopher <echristo@gmail.com> Be more rigorous about the sizes of forms and attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f76e118cf879a90145aebbdc39fdd7feb9bf3e51 07-Aug-2013 Eric Christopher <echristo@gmail.com> Remove some parens. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b7669139e6309679acbe16ca26f1b1a2fdd91268 07-Aug-2013 Eric Christopher <echristo@gmail.com> Add a way to grab a particular attribute out of a DIE.
Use it when we're looking for a string in particular. Update comments
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
028f3478a510ef0855abc891237882b3c6123671 07-Aug-2013 Eric Christopher <echristo@gmail.com> Move somewhat messy conditional out of line.
No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4c5be13890f723d78a92d4c96006f9102c4580a0 06-Aug-2013 Eric Christopher <echristo@gmail.com> Recommit previous cleanup with a fix for c++98 ambiguity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
de5cb6b24925c8d3113f02e94d2c16cfed69c47d 06-Aug-2013 Eric Christopher <echristo@gmail.com> Revert "Use existing builtin hashing functions to make this routine more"

This reverts commit r187745.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c222f671099ae5cc354a22078eeb405b5e02a91b 06-Aug-2013 Eric Christopher <echristo@gmail.com> Use existing builtin hashing functions to make this routine more
simple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b30347e64e0bd2904a39cd72631b91900f46d601 05-Aug-2013 Eric Christopher <echristo@gmail.com> Change parent hashing algorithm to be non-recursive and elaborate
greatly on many comments in the code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
86aa03d5f991959299821ba45d476e2c51427139 30-Jul-2013 Eric Christopher <echristo@gmail.com> Fix a truly egregious thinko in anonymous namespace check,
update testcase to make sure we generate debug info for walrus
by adding a non-trivial constructor and verify that we don't
emit an ODR signature for the type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
944aa2b784c727f5d4dca1a1a5347af8519ae6f2 30-Jul-2013 Eric Christopher <echristo@gmail.com> Make sure we don't emit an ODR hash for types with no name and make
sure the comments for each testcase are a bit easier to distinguish.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
be48204a7b80917aff0bc659c75571b28fed2f24 30-Jul-2013 Eric Christopher <echristo@gmail.com> Elaborate a bit on the type unit and ODR conditional code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1faea8f0869a173c5952b59fd17718cf42111416 27-Jul-2013 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: MD5 is always little endian, bswap on big endian platforms.

This makes LLVM emit the same signature regardless of host and target endianess.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
05497cc965b59dff8a8170c5cbbcef3dff251262 27-Jul-2013 Chandler Carruth <chandlerc@gmail.com> Fix a memory leak in the debug emission by simply not allocating memory.
There doesn't appear to be any reason to put this variable on the heap.
I'm suspicious of the LexicalScope above that we stuff in a map and then
delete afterward, but I'm just trying to get the valgrind bot clean.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0be31910e08bd70e35293d7f85c797071326c02c 26-Jul-2013 Eric Christopher <echristo@gmail.com> Remove addLetterToHash, no functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3dee575b8dfe9c3d89f581e51dd11ddd08c43cd6 26-Jul-2013 Eric Christopher <echristo@gmail.com> Add preliminary support for hashing DIEs and breaking them into
type units.

Initially this support is used in the computation of an ODR checker
for C++. For now we're attaching it to the DIE, but in the future
it will be attached to the type unit.

This also starts breaking out types into the separation for type
units, but without actually splitting the DIEs.

In preparation for hashing the DIEs this adds a DIEString type
that contains a StringRef with the string contained at the label.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6e61e0ba086f7c01f0966f7def824102ecedaf09 24-Jul-2013 Eric Christopher <echristo@gmail.com> Reformat options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c8cfaa1625a72aa3660a268dae753748cfed67d0 17-Jul-2013 Manman Ren <mren@apple.com> Add getModuleFlag(StringRef Key) to query a module flag given Key.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4172a8abbabea2359d91bb07101166565127d798 16-Jul-2013 Craig Topper <craig.topper@gmail.com> Add 'const' qualifiers to static const char* variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3517640443f0b5224e2a6414c246ac60016ee9d4 09-Jul-2013 Adrian Prantl <aprantl@apple.com> Reapply an improved version of r180816/180817.

Change the informal convention of DBG_VALUE machine instructions so that
we can express a register-indirect address with an offset of 0.
The old convention was that a DBG_VALUE is a register-indirect value if
the offset (operand 1) is nonzero. The new convention is that a DBG_VALUE
is register-indirect if the first operand is a register and the second
operand is an immediate. For plain register values the combination reg,
reg is used. MachineInstrBuilder::BuildMI knows how to build the new
DBG_VALUES.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d03d2b243a1c3b32a19ed4f387ac9d66febf8c2c 08-Jul-2013 Manman Ren <mren@apple.com> Debug Info: clean up usage of Verify.

No functionality change. It should suffice to check the type of a debug info
metadata, instead of calling Verify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
66f464ee266b31bb02058c49a5abe3a6b77f080b 08-Jul-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Correct comment & re-format a nearby loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5ce4091a68936b94c1f8858a101e61e65f71a23b 08-Jul-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Simplify Address Pool index handling.

Since the pool indexes are necessarily sequential and contiguous, just
insert things in the right place rather than having to sort the sequence
after the fact.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7c2f3e8944717239b6031ebc778de4547e1449e2 04-Jul-2013 Eric Christopher <echristo@gmail.com> Hoist all of the Entry.getLoc() calls int a single variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0d0782ae9325033176d1a9fc0912217b5c580cb5 04-Jul-2013 Eric Christopher <echristo@gmail.com> Make DotDebugLocEntry a class, reorder the members along with comments
for them and update all uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4e976457eb2e777dcd515a7b82e62161552a2466 03-Jul-2013 Eric Christopher <echristo@gmail.com> Elaborate on comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
01eb99af2f2196241801b12f8ad841a2db346472 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Introduce some typedefs for DenseMaps containing SmallVectors so the vector size doesn't have to repeated when creating iterators for the DenseMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9f43ac6cd3bfd10afb77614766b5c874cb5c6073 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Use SmallVectorImpl& instead of SmallVector& to avoid needlessly respecifying the small vector size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2d785dbace6986f09a110ccb5b5cd65932b6b732 03-Jul-2013 Craig Topper <craig.topper@gmail.com> Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e717713547f1b1b61315cf1bed775ede3d231a4e 03-Jul-2013 Eric Christopher <echristo@gmail.com> Avoid doing a lot of computation when we have multiple ranges and
avoid adding information for the debug_inlined section when it isn't
going to be emitted anyhow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f53d643bd9f9e0d13214f78274fc021d6c03765d 03-Jul-2013 Eric Christopher <echristo@gmail.com> Move iterator to where it's used and update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
da965defb86fdc9430d40c291e770a6219698de6 03-Jul-2013 Eric Christopher <echristo@gmail.com> Add a helpful comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0e6783feed2f0f572a002bda38707fcd3267916d 03-Jul-2013 Manman Ren <mren@apple.com> Debug Info: use module flag to set up Dwarf version.

Correctly handles ref_addr depending on the Dwarf version. Emit Dwarf with
version from module flag.

TODO: turn on/off features depending on the Dwarf version.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d3b98530c55ab695ab02426a804ee0ca09f890b6 02-Jul-2013 Eric Christopher <echristo@gmail.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
18dbe5029f36a5a5d583295daa4ef6d6f5474c25 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [DebugInfo] Hold generic MCExpr in AddrPool

This changes the AddrPool infrastructure to enable it to hold
generic MCExpr expressions, not just MCSymbolRefExpr.

This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1f8aacd6afdc30b4d1cf1da3bf5e41c7874f89be 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [DebugInfo] Introduce DIEExpr variant of DIEValue to hold MCExpr values

This partially reverts r185202 and restores DIELabel to hold plain
MCSymbol references. Instead, we add a new subclass DIEExpr of
DIEValue that can hold generic MCExpr references.

This is in preparation for supporting debug info for TLS variables
on PowerPC, where we need to describe the variable location using
a more complex expression than just MCSymbolRefExpr.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a3863ea2dacafc925a8272ebf9884fc64bef686c 02-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove address spaces from MC.

This is dead code since PIC16 was removed in 2010. The result was an odd mix,
where some parts would carefully pass it along and others would assert it was
zero (most of the object streamer for example).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8fed05ec1ba90c688d71323fe8a1c3070adf58cf 02-Jul-2013 David Blaikie <dblaikie@gmail.com> PR14728: DebugInfo: TLS variables with -gsplit-dwarf

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
95e72c90e4e2ee64e12d898f6495e796ebcadaf8 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Pass MCSymbolRefExprs for labels instead of MCSymbols

This is a precursor to adding debug info support for TLS which requires
non-default relocations applied to TLS symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1ca79907ef144358f16bb8abea849e806ca31134 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Revise r185189 to avoid subtle 'unsigned += bool'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1c736322a25d3a6fe4623daab7052e8b9d297223 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Simplify the AddressPool representation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
321d83ba9e6e4e99700dcfb96fdcebe758e51905 28-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: constify the AddressPool MCSymbol pointers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2560e242c87b205143ca5e0e87a216e06f51a434 25-Jun-2013 Manman Ren <mren@apple.com> Remove unused code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fdfc81f142b3870c757bb9f06e440e843cb3a57f 25-Jun-2013 Eric Christopher <echristo@gmail.com> 80-column and tab character fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4532c280f540de22c83ca2525f1a9a7722b4d7e3 20-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: don't use location lists when the location covers the whole function anyway

Fix up three tests - one that was relying on abbreviation number,
another relying on a location list in this case (& testing raw asm,
changed that to use dwarfdump on the debug_info now that that's where
the location is), and another which was added in r184368 - exposing a
bug in that fix that is exposed when we emit the location inline rather
than through a location list. Fix that bug while I'm here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0159ae4295720c5ce8fc770ddb5fed67e90b8d3a 19-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: PR14763/r183329 correct the location of indirect parameters

We had been papering over a problem with location info for non-trivial
types passed by value by emitting their type as references (this caused
the debugger to interpret the location information correctly, but broke
the type of the function). r183329 corrected the type information but
lead to the debugger interpreting the pointer parameter as the value -
the debug info describing the location needed an extra dereference.

Use a new flag in DIVariable to add the extra indirection (either by
promoting an existing DW_OP_reg (parameter passed in a register) to
DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
(parameter passed on the stack).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6d9dbd5526e3161db884fc4fe99c278bb59ccc19 16-Jun-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions

Rather than using the full power of target-specific addressing modes in
DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This
reduces the complexity of debug info handling down to two
representations of values (reg+offset and frame index+offset) rather
than three or four.

Ideally we could ensure that frame indicies had been eliminated by the
time we reached an assembly or dwarf generation, but I haven't spent the
time to figure out where the FIs are leaking through into that & whether
there's a good place to convert them. Some FI+offset=>reg+offset
conversion is done (see PrologEpilogInserter, for example) which is
necessary for some SelectionDAG assumptions about registers, I believe,
but it might be possible to make this a more thorough conversion &
ensure there are no remaining FIs no matter how instruction selection
is performed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
babfebb4e804dbce12c7133860609aa8a2da48fd 07-Jun-2013 David Blaikie <dblaikie@gmail.com> Fix break in r183446 - helps to increment the iterator in a loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b20fdff6fe3ec55c75362f6ce14c91b1c9b016c7 06-Jun-2013 David Blaikie <dblaikie@gmail.com> Debug Info: simplify parameter ordering preservation

Seems we emit the parameter ordering number (spuriously named 'arg
number') in the debug info, so there's no need to search through the
variable list to figure out the parameter ordering. This implementation
does 'always' do the work, even in non-optimized debug info (the
previous implementation checked the existence of the 'variables' list on
the subprogram which is only present in optimized builds).

No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
032d62487c888fe1ce500dfe9e22ae76efbe18e5 05-Jun-2013 David Blaikie <dblaikie@gmail.com> PR15662: Optimized debug info produces out of order function parameters

When a function is inlined we lazily construct the variables
representing the function's parameters. After that, we add any remaining
unused parameters.

If the function doesn't use all the parameters, or uses them out of
order, then the DWARF would produce them in that order, producing a
parameter order that doesn't match the source.

This fix causes us to always keep the arg variables at the start of the
variable list & in the original order from the source.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7c2b4be2a718b994298803dd09e81e49a016ffb2 01-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com> Move getRealLinkageName to a common place and remove all the duplicates of it.

Also simplify code a bit while there. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d2df98f3aad701512c6f14579a24672a49df1150 30-May-2013 Eric Christopher <echristo@gmail.com> Rename variable to be more descriptive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
742671bf8e422aadcf3b7697a8844b9eb6f566f2 29-May-2013 Manman Ren <mren@apple.com> LTO+Debug Info: revert r182791.

Since the testing case uses ref_addr, which requires version 3+ to work,
we will solve the dwarf version issue first.

This patch also causes failures in one of the bots. I will update the patch
accordingly in my next attempt.

rdar://13926659


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9174fd77e5e299fa3b1357a85ad82173217270b7 28-May-2013 Manman Ren <mren@apple.com> LTO+Debug Info: correctly emit inlined_subroutine when the inlined callee is
from a different CU.

We used to print out an error message and fail to generate inlined_subroutine.

If we use ref_addr in the generated DWARF, the DWARF version should be 3 or
above.
rdar://13926659


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
01cb18ea08aeb76726750914b1283c633b5a2d74 21-May-2013 Manman Ren <mren@apple.com> Dwarf: use a single line table to generate assembly when .loc is used.

This is to fix PR15408 where an undefined symbol Lline_table_start1 is used.
Since we do not generate the debug_line section when .loc is used,
Lline_table_start1 is not emitted and we can't refer to it when calculating
at_stmt_list for a compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b72cc7782716f469eb1b0963423a5b414215705 21-May-2013 David Blaikie <dblaikie@gmail.com> PR14606: Debug Info for namespace aliases/DW_TAG_imported_module

This resolves the last of the PR14606 failures in the GDB 7.5 test
suite by implementing an optional name field for
DW_TAG_imported_modules/DIImportedEntities and using that to implement
C++ namespace aliases (eg: "namespace X = Y;").

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
03406c4f15b3bf0522763fe848cd40f9598b74e8 11-May-2013 Benjamin Kramer <benny.kra@googlemail.com> StringRefize some debug accel table bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
baf81af7591dedb2587bf8e439e07a97dbe454f9 11-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove more dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
aa76a93cd35abd922b66825bb4e3e0b6e14ccfd5 08-May-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Support DW_TAG_imported_declaration

This provides basic functionality for imported declarations. For
subprograms and types some amount of lazy construction is supported (so
the definition of a function can proceed the using declaration), but it
still doesn't handle declared-but-not-defined functions (since we don't
generally emit function declarations).

Variable support is really rudimentary at the moment - simply looking up
the existing definition with no support for out of order (declaration,
imported_module, then definition).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d1221e377d8e37e41539ed9f36b60b4cd48b6988 08-May-2013 David Blaikie <dblaikie@gmail.com> Finish renaming constructImportedModuleDIE to constructImportedEntityDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c57ad2381488b7cde7e3eb459d2ce3e447e93b7 08-May-2013 Eric Christopher <echristo@gmail.com> Pass the MDNode in and do the insertion at compile unit creation time
instead of relying upon an extra call to finish initializing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
20d9e41ddb3f531267680819b5cac4cac1c6b231 07-May-2013 David Blaikie <dblaikie@gmail.com> Rename DIImportedModule to DIImportedEntity and allow imported declarations

DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
498c91e341ff8cff835b053c25a76fe7c21b06a9 07-May-2013 David Blaikie <dblaikie@gmail.com> Debug Info: Fix for break due to r181271

Apparently we didn't keep an association of Compile Unit metadata nodes
to DIEs so looking up that parental context failed & thus caused no
DW_TAG_imported_modules to be emitted at the CU scope. Fix this by
adding the mapping & sure up the test case to verify this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
664fbee9c888c7cd1e7ba7943e9cce96a104ea5e 07-May-2013 Timur Iskhodzhanov <timurrrr@google.com> Fix the VS2010 build broken by r181271

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d2e0f7ee15e3df5317f804d9355c2b714e30b5c9 07-May-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Support imported modules in lexical blocks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
86a87d9ba1faf153e0e6eaddfd3e95595c83bcb1 01-May-2013 Adrian Prantl <aprantl@apple.com> Temporarily revert "Change the informal convention of DBG_VALUE so that we can express a"
because it breaks some buildbots.

This reverts commit 180816.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a2b56692c8b824b8cc4a0927bb555f3718e9bee8 01-May-2013 Adrian Prantl <aprantl@apple.com> Change the informal convention of DBG_VALUE so that we can express a
register-indirect address with an offset of 0.
It used to be that a DBG_VALUE is a register-indirect value if the offset
(operand 1) is nonzero. The new convention is that a DBG_VALUE is
register-indirect if the first operand is a register and the second
operand is an immediate. For plain registers use the combination reg, reg.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
00297bad0d7458b5bcdfce3d3301957b0539b070 27-Apr-2013 Eric Christopher <echristo@gmail.com> Use the target triple from the target machine rather than the module
to determine whether or not we're on a darwin platform for debug code
emitting.

Solves the problem of a module with no triple on the command line
and no triple in the module using non-gdb ok features on darwin. Fix
up the member-pointers test to check the correct things for cross
platform (DW_FORM_flag is a good prefix).

Unfortunately no testcase because I have no ideas how to test something
without a triple and without a triple in the module yet check
precisely on two platforms. Ideas welcome.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
13131e62fc9a523b3cc8ad98cc9def97ff89391a 26-Apr-2013 Adrian Prantl <aprantl@apple.com> Cleanup and document MachineLocation.
Clarify documentation and API to make the difference between register and
register-indirect addressed locations more explicit. Put in a comment
to point out that with the current implementation we cannot specify
a register-indirect location with offset 0 (a breg 0 in DWARF).
No functionality change intended.

rdar://problem/13658587

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
13367123a8682de6db3feee6c9b9a7cc19e4ae9c 24-Apr-2013 Eric Christopher <echristo@gmail.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1b0cd2f2a69c2ee6dd82e5445728f1b93aef4f47 22-Apr-2013 Eric Christopher <echristo@gmail.com> Tidy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c462db6d66e683fb837c03d661483106a869a407 22-Apr-2013 David Blaikie <dblaikie@gmail.com> Revert "Revert "PR14606: debug info imported_module support""

This reverts commit r179840 with a fix to test/DebugInfo/two-cus-from-same-file.ll

I'm not sure why that test only failed on ARM & MIPS and not X86 Linux, even
though the debug info was clearly invalid on all of them, but this ought to fix
it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
41201ed06fa4fb246f5a7e9e2b62168814eca6ff 19-Apr-2013 Eric Christopher <echristo@gmail.com> Revert "PR14606: debug info imported_module support"

This reverts commit r179836 as it seems to have caused test failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bcb81360a26cba066fae3acbe25b8ac161af6881 19-Apr-2013 David Blaikie <dblaikie@gmail.com> PR14606: debug info imported_module support

Adding another CU-wide list, in this case of imported_modules (since they
should be relatively rare, it seemed better to add a list where each element
had a "context" value, rather than add a (usually empty) list to every scope).
This takes care of DW_TAG_imported_module, but to fully address PR14606 we'll
need to expand this to cover DW_TAG_imported_declaration too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e0828ec6027e43724a7c5c76a3409344198dac71 09-Apr-2013 Eric Christopher <echristo@gmail.com> The .dwo section shouldn't contain the unrelocated values (and
therefore not at all) of the pc or statement list. We also don't
need to emit the compilation dir so save so space and time
and don't bother.

Fix up the testcase accordingly and verify that we don't emit
the attributes or the items that they use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9a9e73b47d139ecb6bfc3c934352ab7c7ee9af44 07-Apr-2013 Eric Christopher <echristo@gmail.com> DW_FORM_sec_offset should be a relocation on platforms that use
a relocation across sections. Do this for DW_AT_stmt list in the
skeleton CU and check the relocations in the debug_info section.

Add a FIXME for multiple CUs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5044a9395a6f19c37989d877a7cbbe21dd84c5b7 06-Apr-2013 Manman Ren <mren@apple.com> Dwarf: use utostr on CUID to append to SmallString.

We used to do "SmallString += CUID", which is incorrect, since CUID will
be truncated to a char.

rdar://problem/13573833


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
624a93ee47fd05adbad4ea22b50c554ca23ac0ef 05-Apr-2013 Manman Ren <mren@apple.com> Debug Info: revert 178722 for now.

There is a difference for FORM_ref_addr between DWARF 2 and DWARF 3+.
Since Eric is against guarding DWARF 2 ref_addr with DarwinGDBCompat, we are
still in discussion on how to handle this.

The correct solution is to update our header to say version 4 instead of version
2 and update tool chains as well.

rdar://problem/13559431


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e3d75ee2a1c8ea11fd01fc49055d08f2da7f5668 04-Apr-2013 Manman Ren <mren@apple.com> Debug Info: according to DWARF 2, FORM_ref_addr the same size as an address on
the target system.

It was hard-coded to 4 bytes before. I can't get llvm to generate a
ref_addr on a reasonably sized testing case.

rdar://problem/13559431


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3dcb538661317926e90c7a21cec92c7d871f13b9 03-Apr-2013 Eric Christopher <echristo@gmail.com> Remove ZeroOrMore from the option description. We don't need it here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f7cef7081b2e09b48d47263e391db2390dddf5e8 30-Mar-2013 Eric Christopher <echristo@gmail.com> Use SmallVectorImpl instead of SmallVector at the uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2df938ad713140c352b2d81b49490e337c018891 29-Mar-2013 Eric Christopher <echristo@gmail.com> Use 12 as the magic number for our abbreviation data and our
die values. A lot of DIEs have 10 attributes in C++ code (example
clang), none had more than 12. Seems like a good default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c126c3232a7c6c2e2a2ec9477252f1372b14f728 29-Mar-2013 Eric Christopher <echristo@gmail.com> Move the construction of the skeleton compile unit after the
entire original compile unit has been constructed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4c6f895205993b2e724a6025a34d0601135e8b18 13-Mar-2013 Manman Ren <mren@apple.com> No functionality change. Use unreachable in getCUOffset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc3e96f17bb278358cd3976f35b87591a392f5af 12-Mar-2013 Manman Ren <mren@apple.com> Debug Info: use DW_FORM_ref_addr instead of DW_FORM_ref4 if the referenced DIE
belongs to a different compile unit.

DW_FORM_ref_addr should be used for cross compile-unit reference.

When compiling a large application, we got a dwarfdump verification error where
abstract_origin points to nowhere.

This error can't be reproduced on any testing case in MultiSource.
We may have other cases where we use DW_FORM_ref4 unconditionally.

rdar://problem/13370501


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c0ec8a4f4db3c579dfc8c219dc39014f34260b42 12-Mar-2013 David Blaikie <dblaikie@gmail.com> Remove support for versioned debug info.

Versioned debug info support has been a burden to maintain & also compromised
current debug info verification by causing test cases testing old debug info to
remain rather than being updated to the latest. It also makes it hard to add or
change the metadata schema by requiring various backwards-compatibility in the
DI* hierarchy.

So it's being removed in preparation for new changes to the schema to tidy up
old/unnecessary fields and add new fields needed for new debug info (well, new
to LLVM at least).

The more surprising part of this is the changes to DI*::Verify - this became
necessary due to the changes to AsmWriter. AsmWriter was relying on the version
test to decide which bits of metadata were actually debug info when printing
the comment annotations. Without the version information the tag numbers were
too common & it would print debug info on random metadata that happened to
start with an integer that matched a tag number. Instead this change makes the
Verify functions more precise (just adding "number of operands" checks - not
type checking those operands yet) & relies on that to decide which metadata is
debug info metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3de61b4c0144748e4b9157e2c22fe4ea685981a2 07-Mar-2013 Manman Ren <mren@apple.com> Debug Info: store the files and directories for each compile unit.

We now emit a line table for each compile unit. To reduce the prologue size
of each line table, the files and directories used by each compile unit are
stored in std::map<unsigned, std::vector< > > instead of std::vector< >.

The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
compile unit causes a huge increase of debug info. With this patch, each
prologue will only emit the files required by the compile unit.

rdar://problem/13342023


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3ce51a970fd545c1ef45f580c84b64d764fb9a64 23-Feb-2013 Eric Christopher <echristo@gmail.com> Use getSplitDebugFilename when constructing the skeleton cu and
update testcase accordingly to give the correct name to the cu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c5ef7eee3c412b0f334e395b0cf7c363200c2f79 12-Feb-2013 Krzysztof Parzyszek <kparzysz@codeaurora.org> Allow optionally generating pubnames section in DWARF info. Introduce
option "generate-dwarf-pubnames" to control it, set to "false" by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f2d89ff5c82c78f6160a9a8611c525771fdd2033 09-Feb-2013 Manman Ren <mren@apple.com> Dwarf: do not use line_table_start in at_stmt_list since we do not always emit
line table entries in assembly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7a0103c30d2f423c78527aeeeebc7915e3bc9ee9 07-Feb-2013 Eric Christopher <echristo@gmail.com> "Clean up" line section symbol emission by emitting the section
syms before constructing the compile units so we're not emitting
section references to sections not there already.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
01776a5a9480243f95fff50c96e3f35fad41e4cb 06-Feb-2013 Eric Christopher <echristo@gmail.com> Clean up multiple skeleton compile units if we have multiple compile
units coming in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
231b83d8fd3ce86fb5cd154d50dd3f920ca0d71f 06-Feb-2013 Eric Christopher <echristo@gmail.com> Remove some dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c5861fdbd5e30df55cb7cd9a0edda8d92494100 06-Feb-2013 Manman Ren <mren@apple.com> Attempt to recover gdb bot after r174445.

Failure: undefined symbol 'Lline_table_start0'.
Root-cause: we use a symbol subtraction to calculate at_stmt_list, but
the line table entries are not dumped in the assembly.
Fix: use zero instead of a symbol subtraction for Compile Unit 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
43213cf1ac05b4198fcf9fa85d7da85477daafd1 05-Feb-2013 Manman Ren <mren@apple.com> Dwarf: support for LTO where a single object file can have multiple line tables

We generate one line table for each compilation unit in the object file.
Reviewed by Eric and Kevin.

rdar://problem/13067005


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31fb5dafce280ddcc945e2136d11e5c69a3d3493 05-Feb-2013 Eric Christopher <echristo@gmail.com> Construct a skeleton cu for each compile unit in the module, not just
for the first compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
208cc6f48975320da1a71cf7f7eff497f4f43b75 05-Feb-2013 Eric Christopher <echristo@gmail.com> Add support for emitting a stub DW_AT_GNU_dwo_id as part of the
DWARF5 split dwarf proposal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8b15d74434dfde5ea9227b985c2c934f62bf03a7 31-Jan-2013 Manman Ren <mren@apple.com> [Dwarf] early exit to avoid creating dangling DIEs

We used to create children DIEs for a scope, then check whether ScopeDIE is
null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can
link to those dangling DIEs, which are not emitted at all, causing dwarf error.

The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor.

rdar://problem/13071959


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
498703bcfb274f3911a1fdbfb818b526338249ad 28-Jan-2013 Eric Christopher <echristo@gmail.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
446b88fb81e14f5fa6f98ca924c83edc856cade7 17-Jan-2013 Eric Christopher <echristo@gmail.com> Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this by
changing both the string of the dwo_name to be correct and the type of
the statement list.

Testcases all around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d96c72a14cf327af98cbc7d3491f7a2248f5137d 17-Jan-2013 Eric Christopher <echristo@gmail.com> Add the DW_AT_GNU_addr_base for the skeleton cu. Add support for
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
72f7bfbf0e02bb11d3e7cca1f9598c5f9d9fa2ca 16-Jan-2013 Eric Christopher <echristo@gmail.com> Split address information for DWARF5 split dwarf proposal. This involves
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.

Sneak in two other small changes:

a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.

Add tests for all of this in the fission-cu.ll test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1ced208be9cab0f994c5df9000da36bc313b2507 09-Jan-2013 Eric Christopher <echristo@gmail.com> Last in the series of removing unnecessary '0' arguments for
address space. Reordered the EmitULEB128IntValue arguments to
make this easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
68ca56285f9b6e82eb16ff8ea02a301f2c489fae 09-Jan-2013 Eric Christopher <echristo@gmail.com> These functions have default arguments of 0 for the last arg. Use
them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ca1dd05c3c12e857614ae6837f90894396225dd6 09-Jan-2013 Eric Christopher <echristo@gmail.com> These functions have default arguments of 0 for the last arg. Use
them and add one where it seemed obvious that we wanted one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b6714227eda5d499f7667fc865f931126a8dc488 08-Jan-2013 Eric Christopher <echristo@gmail.com> Move the string pools down into the units. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ff34845f78ec5c20ccd8b5ec715d505eba9f66af 07-Jan-2013 Eric Christopher <echristo@gmail.com> Whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dd8e9f395e881972b320d947de88102a0be04b70 07-Jan-2013 Eric Christopher <echristo@gmail.com> Add support for separating strings for the split debug info DWARF5
proposal. This leaves the strings in the skeleton die as strp,
but in all dwo files they're accessed now via DW_FORM_GNU_str_index.

Add support for dumping these sections and modify the fission-cu.ll
testcase to have the correct strings and form. Fix a small bug
in the fixed form sizes routine that involved out of array accesses
for the table and add a FIXME in the extractFast routine to fix
this up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
64f824c9d181c8ee78cba5b00fa7be0e5a0900a5 27-Dec-2012 Eric Christopher <echristo@gmail.com> For the dwarf5 split debug info code split out the string section
per compile unit/skeleton compile unit. Update tests accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
72c1655e0af6c87ffe687bed1f4ed263b1165c06 20-Dec-2012 Eric Christopher <echristo@gmail.com> Whitespace and 80-column cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2e5d870b384f7cc20ba040e827d54fa473f60800 20-Dec-2012 Eric Christopher <echristo@gmail.com> Start splitting out the debug string section handling by moving it
into the DwarfUnits class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6eebe47060eec7e3a4ae95d4b4835869108f9c07 19-Dec-2012 Eric Christopher <echristo@gmail.com> Split out abbreviations for the skeleton info from the rest of
the abbreviations. Part of implementing split dwarf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b1e66d0c4fed6f162424fd5257cedf0d2e705152 15-Dec-2012 Eric Christopher <echristo@gmail.com> To simplify some code move the unit emission into the holders.
Make emitDIE public accordingly. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cf6b8ad784c7e5e64beb9e26c43176eb38b1b68b 15-Dec-2012 Eric Christopher <echristo@gmail.com> Use begin and end label names from the section for info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
44fedbad3a3f57aa27ae2b5ac82b21679bf7fe00 13-Dec-2012 Eric Christopher <echristo@gmail.com> Use default label name for a section in emitting abbreviation
section to help prep some code to be split about.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b944ee36f85ff0af849f35dfb59dced15dcde5a 11-Dec-2012 Eric Christopher <echristo@gmail.com> Update some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0e3e9b79f6e471b46438251249f18121408e5189 11-Dec-2012 Eric Christopher <echristo@gmail.com> Refactor out the abbreviation handling into a separate class that
controls each of the abbreviation sets (only a single one at the
moment) and computes offsets separately as well for each set
of DIEs.

No real function change, ordering of abbreviations for the skeleton
CU changed but only because we're computing in a separate order. Fix
the testcase not to care.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
642630ef2baeeb84763bc30dbc2e8b154d54d200 10-Dec-2012 Eric Christopher <echristo@gmail.com> Remove blank line at top of file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4daaed1c7077deb185628a86252afdbbbaf5d3db 10-Dec-2012 Eric Christopher <echristo@gmail.com> Use the somewhat semantic term "split dwarf" it more matches what's
going on and makes a lot of the terminology in comments make more sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9ec87b3c86151d065b58a1f4f94c37034aae97da 10-Dec-2012 Eric Christopher <echristo@gmail.com> Delete the FissionCU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
28bd25a06ba3f3fa493fde97344e095b6987988c 10-Dec-2012 Eric Christopher <echristo@gmail.com> Reorder fission variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
836cfc46b38969acc2f74af099b51d0b567f498d 04-Dec-2012 David Blaikie <dblaikie@gmail.com> Comment change made in r169304 as requested by Eric Christopher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b36c531653913cdea211a25d45350e8b5bfbd262 04-Dec-2012 David Blaikie <dblaikie@gmail.com> Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB

This reapplies the fix for PR13303 now with more justification. Based on my
execution of the GDB 7.5 test suite this results in:

expected passes: 16101 -> 20890 (+30%)
unexpected failures: 4826 -> 637 (-77%)

There are 23 checks that used to pass and now fail. They are all in
gdb.reverse. Investigating a few looks like they were accidentally passing
due to extra breakpoints being set by this bug. They're generally due to the
difference in end location between gcc and clang, the test suite is trying to
set breakpoints on the closing '}' that clang doesn't associate with any
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d4a05e0c2c871a0acbadfe572abbdb99158871bd 03-Dec-2012 Eli Bendersky <eliben@google.com> Fix PR12942: Allow two CUs to be generated from the same source file.

Thanks Eric for the review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
98e237fc69236f89ec35d6b69b264241af1e8107 01-Dec-2012 Eric Christopher <echristo@gmail.com> Add some first skeleton work for the DWARF5 Fission proposal. Emit
part of the compile unit CU and start separating out information into
the various sections that will be pulled out later.

WIP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b6dc8655e193fa92c6d9233ad5f53ec21d4348cf 27-Nov-2012 Eric Christopher <echristo@gmail.com> Attempt to make the comments for dwarf debug look more like
the coding standard would like.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4288502af9de9978283a83918301038a32512a66 27-Nov-2012 Eric Christopher <echristo@gmail.com> Reapply section moving, make sure string section is output last.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fcdbecbbaf110c6dff371655d6aaa8f58b2a22f3 27-Nov-2012 Eric Christopher <echristo@gmail.com> Revert rearrangement of debug info sections to unblock the bots
and O0 + debug codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
74802f7e43dada1411dd456e998e7650c360e1cf 27-Nov-2012 Eric Christopher <echristo@gmail.com> Add in sections for the fission case (no change so incorrect) and
add a TODO for starting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8ba01175cce553091b7367c4edb758b32266cc15 27-Nov-2012 Eric Christopher <echristo@gmail.com> Reorder section output ordering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bdab800b02d8a3fca276d2df2119e036a023c9df 27-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4117bec41b955f4b6d22e600f4a04d968201701d 22-Nov-2012 Eric Christopher <echristo@gmail.com> Pull some code out into functions to make rearranging them a bit easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7ee5f5d61f18deda7412fdff4c2729c59a436b27 21-Nov-2012 Eric Christopher <echristo@gmail.com> Update for some of the coding standard before rearranging functions
around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7dc68db9f006959775b0689b31a36e4be4930126 21-Nov-2012 Eric Christopher <echristo@gmail.com> Remove constness from this, it modifies the output stream as does
everything else underneath.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fbd19750383cf6a74ac8bfbca09956a0d7945143 20-Nov-2012 Eric Christopher <echristo@gmail.com> Remove unused function argument, add a bit to the comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c4639d6ec2cf1e66d0bbc22db9ec530419b18784 19-Nov-2012 Eric Christopher <echristo@gmail.com> Remove a function argument and propagate const around accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0f1c7f6216c4dfdd4593bef077f7e1e082b624f9 19-Nov-2012 Eric Christopher <echristo@gmail.com> Whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
97c3472bf915ce9124f682f6c8ce9e4baff7c284 19-Nov-2012 Eric Christopher <echristo@gmail.com> Move section label emission to module end. Nothing should be
depending on them being emitted before the text and/or data
sections and testing didn't uncover any.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f5b6dcd3929fe04c81aca1d69f69bbc530de148f 12-Nov-2012 Eric Christopher <echristo@gmail.com> Add an option to enable prototype "fission" capabilities and debug changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
168c190c581d21d50edefeedebe38400a12845e1 07-Nov-2012 Bill Wendling <isanbard@gmail.com> Add comment describing what's going on here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a4c769311877916cc73994d318d5e962228bf3cd 07-Nov-2012 Bill Wendling <isanbard@gmail.com> When we're updating the subprogram scope DIE, we want to determine if we're
updating an abstract DIE or not. If we are, then we use that. Its children will
be added on later, as well as the object pointer attribute. Otherwise, this
function may be called with a concrete DIE twice and adding the children and
object pointer attribute to it twice.
<rdar://problem/12401423&12600340>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
426c2bf5cdd2173e4a33aea8cb92cf684a724f4b 01-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Revert the majority of the next patch in the address space series:

r165941: Resubmit the changes to llvm core to update the functions to
support different pointer sizes on a per address space basis.

Despite this commit log, this change primarily changed stuff outside of
VMCore, and those changes do not carry any tests for correctness (or
even plausibility), and we have consistently found questionable or flat
out incorrect cases in these changes. Most of them are probably correct,
but we need to devise a system that makes it more clear when we have
handled the address space concerns correctly, and ideally each pass that
gets updated would receive an accompanying test case that exercises that
pass specificaly w.r.t. alternate address spaces.

However, from this commit, I have retained the new C API entry points.
Those were an orthogonal change that probably should have been split
apart, but they seem entirely good.

In several places the changes were very obvious cleanups with no actual
multiple address space code added; these I have not reverted when
I spotted them.

In a few other places there were merge conflicts due to a cleaner
solution being implemented later, often not using address spaces at all.
In those cases, I've preserved the new code which isn't address space
dependent.

This is part of my ongoing effort to clean out the partial address space
code which carries high risk and low test coverage, and not likely to be
finished before the 3.2 release looms closer. Duncan and I would both
like to see the above issues addressed before we return to these
changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b4c9d9c51fcb8a4cad2336b1ad9d225f504bbc4c 31-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> Replace some instances of UniqueVector with SetVector, which is slightly cheaper.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e0aae5b4f30ce283b7023daf3a41a6bd0e1e117e 30-Oct-2012 Bill Wendling <isanbard@gmail.com> Fix grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c39b15073db81d93bb629303915b7d7e5d088dc 15-Oct-2012 Micah Villmow <villmow@gmail.com> Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fb384d61c78b60787ed65475d8403aee65023962 11-Oct-2012 Micah Villmow <villmow@gmail.com> Revert 165732 for further review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f3840d2c16a4ec4c879a8ded402835746de380f8 11-Oct-2012 Micah Villmow <villmow@gmail.com> Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c56e3f0cdde9b5e3f8222ece7b5968ae9961955e 08-Oct-2012 Eric Christopher <echristo@gmail.com> Fixup comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
02c1a64efe95e5fcdb0123d3f03a605801abbec4 08-Oct-2012 Eric Christopher <echristo@gmail.com> Fixup comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3574eca1b02600bac4e625297f4ecf745f4c4f32 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0313ced016f3777e806ca2e42a746d3162174c47 04-Oct-2012 Eric Christopher <echristo@gmail.com> Update this a bit more to represent how the prologue should work:

a) frame setup instructions define the prologue
b) we shouldn't change our location mid-stream

Add a test to make sure that the stack adjustment stays within
the prologue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
394820b8e159a39a9a07aac9722ad8738680037d 03-Oct-2012 Eric Christopher <echristo@apple.com> Revert "Don't use a debug location for frame setup instructions in the"

This reverts 165055 and 165052 temporarily while I look at debugger
failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
55c86c67ee7ac8596c439d41b93851e7ad024c43 02-Oct-2012 Eric Christopher <echristo@apple.com> 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9fd304672cec6cd31b1978408a0a0dc375f96969 02-Oct-2012 Eric Christopher <echristo@apple.com> Don't use a debug location for frame setup instructions in the
prologue. Also skip frame setup instructions when looking for the
first location.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b451cf35613cd4dbed1cd2053464b28974571fc 22-Sep-2012 Eric Christopher <echristo@apple.com> Have the DbgVariable "isArtificial" and "isObjectPointer" not
care about it being an argument variable so that we can decide
that captured block and lambda vars that don't happen to
be arguments could be an argument pointer.

Add the object pointer for one case onto the subprogram die.

rdar://12001329

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e521278f00cf5f4ea0cc4aac126df30924d3e705 13-Sep-2012 Eric Christopher <echristo@apple.com> Recommit, with fixes:

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fd1cd572211aae8f73dc073c004b865054a34604 12-Sep-2012 Eric Christopher <echristo@apple.com> Revert "Add some support for dealing with an object pointer on arguments."
This should be done on the subprogram, not the variable itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c57a334d762275a0ba478b7c39f384992bcdf6a 12-Sep-2012 Eric Christopher <echristo@apple.com> Add some support for dealing with an object pointer on arguments.

Part of rdar://9797999

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
09e475091921aef0f1f1253f774689d00da78bf4 11-Sep-2012 Eric Christopher <echristo@apple.com> Revert r160148 it seems to cause more problems than it should
right now. We'll fix PR13303 a different way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
edf8bc8c88ba0edd5c502957dd11402dbd66f58d 11-Sep-2012 Eric Christopher <echristo@apple.com> 80-col fixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5c38de99f104daaf1624b28def2c8375a702466d 11-Sep-2012 Eric Christopher <echristo@apple.com> No reason to construct this twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
873cf0a0d7906083578d9b793008348750636138 24-Aug-2012 Eric Christopher <echristo@apple.com> Use DW_FORM_flag_present to save space in debug information if we're
not in darwin gdb compat mode.

Fixes rdar://10975088

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
20f47ab7688ba1e5e4c6af4be47c2f07ee4e9ab6 24-Aug-2012 Eric Christopher <echristo@apple.com> Turn these two options in to trinary state so that they can be
turned on and off separate from the platform if you're on darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c1610fa3c43befd489cd41e358bfa48323594266 24-Aug-2012 Eric Christopher <echristo@apple.com> Add a flag to DwarfDebug to allow it to communicate whether or not
we're using the darwin old gdb compat mode for emitting dwarf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9d9f5a5855a711b1154e178e26f3766dc21d846a 23-Aug-2012 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9eb1a94c2020b4d6ba53962745eef19559b39a9f 23-Aug-2012 Eric Christopher <echristo@apple.com> Only emit the __debug_inlined section if we're trying to be compatible
with older gdbs on darwin.

rdar://10975874

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
360f0062bc83610e944123ee30eb057c325dfbf7 23-Aug-2012 Eric Christopher <echristo@apple.com> Emit pubtypes only when going for darwin gdb compatibility.

rdar://10393214

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
10cb744f194dc2a0ce0c3d52965aafb2b190068b 23-Aug-2012 Eric Christopher <echristo@apple.com> Add an option for darwin gdb compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6635cad5480210d683aba7dc42627430b29fb0b4 01-Aug-2012 Eric Christopher <echristo@apple.com> Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causing
failures in the debug testsuite and possibly PR13486.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c23b933d5f8be9b51a1d22e717c0311f65f87dcd 28-Jul-2012 Eric Christopher <echristo@apple.com> Add a DW_AT_high_pc for CUs that are a single address range. Update
all tests accordingly.

Fixes PR13351.

Patch by shinichiro hamaji!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5cf55e1c6a22ae066db5066fdc69f99564ace8ea 13-Jul-2012 Eric Christopher <echristo@apple.com> The end of the prologue should be marked with is_stmt.
Fixes PR13303.

Patch by Paul Robinson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b67bd33e8e2f29c3d6adb10c4f3a02c79c61af08 06-Jul-2012 Alexey Samsonov <samsonov@google.com> Fix PR13202 and a regtest.
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
16eeb6f5ebc978b03745177b9ac82684ab1c6932 29-Jun-2012 Bill Wendling <isanbard@gmail.com> The DIBuilder class is just a wrapper around debug info creation
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0bcbd1df7a204e1e512f1a27066d725309de1b13 28-Jun-2012 Bill Wendling <isanbard@gmail.com> Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2241e51406f7bae369d6103cf3464e70f74c4af9 22-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix a FIXME: DwarfRequiresRelocationForSectionOffset is the same as
DwarfUsesRelocationsAcrossSections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ffccd923101ae177c1a2c407618d8f03a312d69b 22-Jun-2012 Nick Lewycky <nicholas@mxc.ca> Emit relocations for DW_AT_location entries on systems which need it. This is
a recommit of r127757. Fixes PR9493. Patch by Paul Robinson!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f33a79c590934ee9973a3c91cbc7c435bd6aa115 09-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Allocate the contents of DwarfDebug's StringMaps in a single big BumpPtrAllocator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
396618b43a85e12d290a90b181c6af5d7c0c5f11 02-Jun-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Switch all register list clients to the new MC*Iterator interface.

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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
23da8a061fcadd20a2abe3afafdeed2d505acfb8 18-May-2012 Eric Christopher <echristo@apple.com> Remove duplicate code that we could just fallthrough to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a80f2d1f976a40ce627e18e3a80e52cb1f1aecb5 08-May-2012 Eric Christopher <echristo@apple.com> Fix thinko in conditional.

Part of rdar://11352000 and should bring the buildbots back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
501207676c78fefcfc9eeeaa1e3dbe9ea857d33f 08-May-2012 Eric Christopher <echristo@apple.com> Handle OpDeref in case it comes in as a register operand.

Part of rdar://11352000

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
60b35f408bc3194e7ea4e96367c0b42dc5e7f850 05-Apr-2012 Eric Christopher <echristo@apple.com> Patch to set is_stmt a little better for prologue lines in a function.
This enables debuggers to see what are interesting lines for a
breakpoint rather than any line that starts a function.

rdar://9852092

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fa5b05013679fe04bac94084d411d2774608236f 03-Apr-2012 Eric Christopher <echristo@apple.com> Fix thinko check for number of operands to be the one that actually
might have more than 19 operands. Add a testcase to make sure I
never screw that up again.

Part of rdar://11026482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6126a1e1894f346fae02a514a20aa56b879aeb99 03-Apr-2012 Eric Christopher <echristo@apple.com> Add a line number for the scope of the function (starting at the first
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
60777d8eaf338fd7fef2296f78d5e513bf0da011 02-Apr-2012 Eric Christopher <echristo@apple.com> Turn on the accelerator tables for Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7f316597cfaf3e8cacf2626559b1aab310f4cb98 27-Mar-2012 Eric Christopher <echristo@apple.com> Use DW_AT_low_pc for a single entry point into a routine.

Fixes PR10105

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
082120053fdccb7eb21681c09365175f130df210 26-Mar-2012 Eric Christopher <echristo@apple.com> Use the file in the inlined die rather than the compile unit for
backtrace locations.

Testcase forthcoming, but I wanted to get some testing here.

Should fix:

PR12323
PR12314
rdar://11091100

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
74612c250bac1f62a2b74c85411cf7180cd8cd78 11-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e4fd907e72a599eddfa7a81eac4366b5b82523e3 04-Mar-2012 Craig Topper <craig.topper@gmail.com> Use uint16_t to store register overlaps to reduce static data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b83e2bbfbc107a71632bd42f2be8186554b16e1f 02-Mar-2012 Eric Christopher <echristo@apple.com> Grammar-o in function name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
50e266135edb896e037c1a8f22a2fafac84eea86 02-Mar-2012 Eric Christopher <echristo@apple.com> If the linkage name doesn't exist we're supposed to emit a reference
to the string table for the function name, not the function name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7550f7dce65f96aa2e95c60b04d6c9650343a5df 02-Mar-2012 Eric Christopher <echristo@apple.com> Revert "Reorder the sections being output to reduce the number of assembler"

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
12313a56ec1f17cb7636773b1a6448917835f838 01-Mar-2012 Eric Christopher <echristo@apple.com> Reorder the sections being output to reduce the number of assembler
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
647c0ce48cdbefc22c221ffeb892e73ccd155009 01-Mar-2012 Michael J. Spencer <bigcheesegs@gmail.com> Minimal changes for LLVM to compile under VS11.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
438b092a4bba8d766316542ced10b7b028bad82c 22-Feb-2012 Eric Christopher <echristo@apple.com> Add the source language into the compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5e25ee8a1fcf8288d00d731b0f7ab7976f33b123 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8a6983493595a896cfca8392a2676bf425349cee 24-Jan-2012 Eric Christopher <echristo@apple.com> Remove generation of DW_AT_sibling. Nothing as far as I can tell uses it.
Saves about 1.5% on debug info size.

rdar://10278198

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fa03db0d2d896a689ac58cb63ec9e1b10af72868 07-Jan-2012 Eric Christopher <echristo@apple.com> Use const vector references instead of a vector copy. Spotted by Devang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c36145f19c1e164f7d630b813e9970600d8f2976 06-Jan-2012 Eric Christopher <echristo@apple.com> As part of the ongoing work in finalizing the accelerator tables, extend
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
abbb200feb492cb1951d089eb8d9e596db38c38c 17-Dec-2011 Eric Christopher <echristo@apple.com> Extraneous whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
309bedd7bc37554cdb41c76737284150dc842a4a 04-Dec-2011 Eric Christopher <echristo@apple.com> Add inline subprogram names to the name lookup table since they may
not get there any other way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 02-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Move global variables in TargetMachine into new TargetOptions class. As an API
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d1ac3a47f2c2993e8bbda0a9f1c843e9efd0f00f 12-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> The dwarf standard says that the only differences between a out-of-line
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
01b55b4a808d04cbff7b62f55eaeb62019340bc0 10-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Check in getOrCreateSubprogramDIE if a declaration exists and if so output
it first.

This is a more general fix to pr11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8bd36eafca6992754006cbace5ba471884631d08 10-Nov-2011 Eric Christopher <echristo@apple.com> Make types and namespaces take multiple DIEs for the accelerator tables
as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0ffe2b4dd6f26fa19827f85bf9e4a766539a859c 10-Nov-2011 Eric Christopher <echristo@apple.com> Rework adding function names to the dwarf accelerator tables, allow
multiple dies per function and support C++ basenames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
983c4578b0e84eb3b4ae319b49a8079c5cd322c6 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0c45f7d1a7a158e94817b21b9cca5456414a4760 09-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Take advantage of the zero byte in StringMap when emitting dwarf stringpool entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dfa30e1ab243990eda4732a6dffb91e965e7a755 09-Nov-2011 Eric Christopher <echristo@apple.com> Remove the pubnames section, no one consumes it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
74d8a87f40dd89ec263071c0af4d77104b166f4a 08-Nov-2011 Eric Christopher <echristo@apple.com> Also add the linkage name to the name accelerator tables if it exists
and is different than the normal name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
67a917d495d38004e3a4a134eec81b312a71a164 08-Nov-2011 Eric Christopher <echristo@apple.com> Add the base ObjC method name to the names lookup table as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
56c2b109f73f895b591d2303128c8adcf0bc2c3d 07-Nov-2011 Eric Christopher <echristo@apple.com> Add all completed and named types to the dwarf type accelerator tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2ea402541fa1bd2aa9942abf7b281ef01f9a10ff 07-Nov-2011 Eric Christopher <echristo@apple.com> Use StringRef::startswith to do some string comparisons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7135457efff83960bfad420f2dc3a5b4b58e8d07 07-Nov-2011 Eric Christopher <echristo@apple.com> Allow for the case where the name of the subprogram is "".

Fixes a self-host error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
76a4e1a0682c8e855f8b7c0a05d802dce8c07d7a 07-Nov-2011 Eric Christopher <echristo@apple.com> Remove unnecessary addition to API. Replace with something much simpler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
09ac3d841367d5d56328eade506c951e0dc3a72d 07-Nov-2011 Eric Christopher <echristo@apple.com> Add the support code to enable the dwarf accelerator tables. Upcoming patches
to fix the types section (all types, not just global types), and testcases.

The code to do the final emission is disabled by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d8a8752d5b7f546fd7ebb295366a43b2b76afbd6 07-Nov-2011 Eric Christopher <echristo@apple.com> Expose a way to get the beginning of the dwarf string section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6370118b16da30f20b5a68ccb814f3a8b8bc58b6 07-Nov-2011 Eric Christopher <echristo@apple.com> Fix up comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b0527283682c5f44fae24ae0a7e2e794f019fade 04-Nov-2011 Rafael Espindola <rafael.espindola@gmail.com> Emit declarations before definitions if they are available. This causes DW_AT_specification to
point back in the file in the included testcase. Fixes PR11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6c1a703e5418b2ba9d7b47b0c9345e9928ea5a68 02-Nov-2011 Nick Lewycky <nicholas@mxc.ca> Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
implied by directory index zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
390c40d96adb2eb4a778a0890c6c8743057e289e 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Teach our Dwarf emission to use the string pool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
746cb670c3cd4f79b288d56d8e9f195685a5381a 27-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Reflow lines, fix comments for doxygen style, fix whitespace. No functionality
change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d5d52132d78e006842a0cf9b6ef5a9feec661711 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Minor style cleanup, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
44d798d9763bc32aaf49fe7c10d604845f4b6685 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Add support for a new extension to the .file directive:

.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6618a241f7ba2571a1a55b3733c4441d467baf42 12-Oct-2011 Eric Christopher <echristo@apple.com> Add a new wrapper node for a DILexicalBlock that encapsulates it and a
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.

This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.

Part of rdar://10246360

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1aeb7ac6246c39703e08089ab0dc2f35631b8bb5 03-Oct-2011 Eric Christopher <echristo@apple.com> Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
93d39be5300702d8c9892ec04a492a6056926462 20-Aug-2011 Devang Patel <dpatel@apple.com> Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
28bea08e531452992ff1e25e8584883dfbd4c232 19-Aug-2011 Devang Patel <dpatel@apple.com> Eliminate unnecessary forwarding function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
94c7ddb6f52a5200983fed0ce74dc602a7737879 17-Aug-2011 Devang Patel <dpatel@apple.com> Until now all debug info MDNodes referred to a root MDNode, a compile unit. 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e26a1352487c350acaee62bc5f7fa4002b9bf524 16-Aug-2011 Devang Patel <dpatel@apple.com> Remove unnecessary version check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
02e603f87a9745768a05411e16c47c558d2cbd6e 16-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3655a21b15e135927826eeb1917b42299ac95d67 16-Aug-2011 Devang Patel <dpatel@apple.com> Continue to hoist uses of getCompileUnit() up. The goal is to get rid of uses of getCompileUnit().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d30243402bf5db25e8b947bd3de2677d0f6c9637 16-Aug-2011 Devang Patel <dpatel@apple.com> This is somewhat déjà-vu, but avoid using getCompileUnit() as much as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d0b5a5ece4f6bf1a29bacefcdd07eaa7ba83e316 16-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. Variables are part of compile unit so let CompileUnit create new variable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7a328270be871f640d94fcebfd48dee02950fb8c 15-Aug-2011 Devang Patel <dpatel@apple.com> There is no need to maintain a set to keep track of variables that use location expressions. In such cases, AT_location attribute's value will be a label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c890b19226673d7004eaff7433834b2e5223bdea 15-Aug-2011 Devang Patel <dpatel@apple.com> Fix warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ff9dd0ac55bc7eb06e7ba8cccf255e64757863cc 15-Aug-2011 Devang Patel <dpatel@apple.com> Simplify. Let DbgVariable keep track of variable's DBG_VALUE machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5a1a67cd3f35b82bcae5dc5dce6ffd9b9549a5c0 15-Aug-2011 Devang Patel <dpatel@apple.com> Simplify mapping to variable from its abstract variable info.
When a variable is inlined multiple places, abstract variable keeps name, location, type etc.. info and all other concreate instances of the variable directly refers to abstract variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a098c506a24a5f1a4e7c7344b53b2e586801a415 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
59bc4093d5009ecda4a4f70ed04c78502e28474f 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6f9d8ffe5e47e3d11176298e849cc8545c2169a2 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. Global variables are part of compile unit so let CompileUnit create new global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dbc64af76d769596903485668a1dfc2d6640c4fb 15-Aug-2011 Devang Patel <dpatel@apple.com> Refactor. A subprogram is part of compile unit so let CompileUnit construct new subprogram.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cd9f6c53de95f5301c0152cab2ccc78d653d6270 12-Aug-2011 Devang Patel <dpatel@apple.com> Use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0fa5e053a914cbbea7c66f13da190d96f8fe2a2c 11-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> Plug a memory leak.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5bc942cc3cc970836d48d8ad276ef3b2b1120ffc 11-Aug-2011 Devang Patel <dpatel@apple.com> Stay within 80 columns.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b549bcfe6c19dbb24162c75bbcc06d4a5fa90cb8 10-Aug-2011 Devang Patel <dpatel@apple.com> Distinguish between two copies of one inlined variable. Take 2.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9ce256421a90cd0413db220f1d60df65cb8344b6 10-Aug-2011 Devang Patel <dpatel@apple.com> Revert unintentional parts of previous check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bf47fdb91c3bc7c26fb7eb6096ca3657c69bd26f 10-Aug-2011 Devang Patel <dpatel@apple.com> Start using LexicalScopes utility. No intetional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c0405292693dc463cd14ce20b3ead7dcd1260e8e 08-Aug-2011 Devang Patel <dpatel@apple.com> Simplify by creating parent first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4147f39769d404cab02da4beea852ad2600dadbb 05-Aug-2011 Chandler Carruth <chandlerc@gmail.com> Temporarily revert r135528 which distinguishes between two copies of one
inlined variable, based on the discussion in PR10542.

This explodes the runtime of several passes down the pipeline due to
a large number of "copies" remaining live across a large function. This
only shows up with both debug and opt, but when it does it creates
a many-minute compile when self-hosting LLVM+Clang. There are several
other cases that show these types of regressions.

All of this is tracked in PR10542, and progress is being made on fixing
the issue. Once its addressed, the re-instated, but until then this
restores the performance for self-hosting and other opt+debug builds.

Devang, let me know if this causes any trouble, or impedes fixing it in
any way, and thanks for working on this!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cfc55c2fc94a7b58e9b9090bc47eb791e029d7a2 03-Aug-2011 Bob Wilson <bob.wilson@apple.com> Some revisions to Devang's change r136759 for merged global debug info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
027cbf9329854e6b02d8db36cbe4f361ee0038cd 03-Aug-2011 Devang Patel <dpatel@apple.com> Use byte offset, instead of element number, to access merged global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3bbb6f79b718e5d972ac3e1c949f3139419b4603 29-Jul-2011 Nick Lewycky <nicholas@mxc.ca> Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow some
lines. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0748f83d3740582c408ab31c66261c2491565a84 28-Jul-2011 Devang Patel <dpatel@apple.com> Remove outdated FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
26a92003cd88355f5b027a2703b5016bb4b7870d 27-Jul-2011 Devang Patel <dpatel@apple.com> It is quiet possible that inlined function body is split into multiple chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a671a3092a9d86819bd740b4433ac217365bbfd7 26-Jul-2011 Devang Patel <dpatel@apple.com> While extracting lexical scopes from machine instruction stream, work on one machine basic block at a time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3737b89098a6aa954d7742277d218f293d38956a 21-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
40c7e4142e2327a540eceb640392a6da4ccfb3bf 21-Jul-2011 Devang Patel <dpatel@apple.com> There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c8fcfc9cd9c0940e8afdaba8b815f8f489b457ba 20-Jul-2011 Devang Patel <dpatel@apple.com> Distinguish between two copies of one inlined variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
133b09953c40b9cceb559e765bca461c38bb4c51 15-Jul-2011 Devang Patel <dpatel@apple.com> Use DebugLoc directly to map inlined functions' instructions to respective lexical scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1e479fb5c1937e586cb485f1d6a1f09e5f08c957 15-Jul-2011 Devang Patel <dpatel@apple.com> Eliminate redundant map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a83bba46b38c255e18ebbe1262ea339431a1ef94 15-Jul-2011 Evan Cheng <evan.cheng@apple.com> Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0bf164605dd83d65f6c510dad26449fcf9a79a51 15-Jul-2011 Devang Patel <dpatel@apple.com> Do not get confused by multiple empty lexical scopes inlined at one location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9b4a172ac07dfc639cab7f8851d5fad3a70101a5 15-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4f455d6f258ae209291006e96b007111978fa1e0 15-Jul-2011 Devang Patel <dpatel@apple.com> Eliminate redundant LLVMContext argument.
Improve DbgScope->dump() output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
49c19f778b62df6f2a28798113a17d5cb3582bda 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d77ec6208cef2a8e615181c2bf0fc5a50a37a20b 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as much as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0cd0c248cc7bbc6045b614940f14fb0a886f27f6 14-Jul-2011 Devang Patel <dpatel@apple.com> Simplify. Compile unit check inside hasValidLocation() did not add any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0f16a4eecc14a0455d0b9dd55742b1c4ebaa1575 14-Jul-2011 Devang Patel <dpatel@apple.com> Fix typo in DEBUG message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5fc0d886da2253b3cd1f319cca7185327a447ba4 14-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
90b40414a092a5cbf35b80eb03e38787eea1a363 08-Jul-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
80efd4e96b0be13e80c26acd737c287d39b9c00f 08-Jul-2011 Devang Patel <dpatel@apple.com> Make provision to have floating point constants in .debug_loc expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
476df5f64f1536330af0dacdfce768efc625dc41 07-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7986289a9cc99b45941adf98c64e6f3dbbc917cc 07-Jul-2011 Devang Patel <dpatel@apple.com> Add DEBUG messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
90369eb209f5cfa52d683f4248b4c0a9cfd9b916 07-Jul-2011 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8594d429e02c688d428036f8563f09572da3fbff 24-Jun-2011 Devang Patel <dpatel@apple.com> Handle debug info for i128 constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ab5f788f6711f473289b9c42726e81872c3d0c47 05-Jun-2011 Benjamin Kramer <benny.kra@googlemail.com> Use path API for path concatenation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4ada1d791028041a6609128a8a4f3b5ebf1c837b 02-Jun-2011 Devang Patel <dpatel@apple.com> A DBG_VALUE that truncates a range does not start another dbg value range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c432907eca615dfea2de3c467f4087f00203b2d6 02-Jun-2011 Devang Patel <dpatel@apple.com> Do not drop constant values when a variable's content is described using .debug_loc entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e9ae06ca987b6c3b6cfbcd50ab85386565a4e0ca 01-Jun-2011 Devang Patel <dpatel@apple.com> Include global types, that are referenced through local variables, in debug_pubtypes list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5b23b7fe3150b2050d6fcd6981d64f30930fd3ef 28-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Make size computation less brittle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b58128e2b2375173aafb07905bd53014d622e4ba 27-May-2011 Devang Patel <dpatel@apple.com> Select DW_AT_const_value size based on variable size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a9b324be9ca4a1f46d1ddf39ea0f6b6bbec86ae9 24-May-2011 Devang Patel <dpatel@apple.com> Fix debug info for blocks' variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c481b70a6aeadb54c880f70422631044af4856b9 24-May-2011 Devang Patel <dpatel@apple.com> Remove unnecessary comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4243e67bd5eeae930060824d4290f8071a66e28f 11-May-2011 Devang Patel <dpatel@apple.com> Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dc52ecf6fdbee63652d2dac0dccc17e23ac7797f 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Rename DwarfRequiresRelocationForStmtList to
DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a3f486762f943136da84bfe590e7153fd434c7ad 10-May-2011 Devang Patel <dpatel@apple.com> Do not ignore InlinedAt while walking up scope chain to find subprogram node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31c5d05a26b5b9eec88558d34e9c20d12e0d53d7 06-May-2011 Devang Patel <dpatel@apple.com> Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f2b04232006142eb7933972fb21d9ffb9b8c2646 06-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Dead code elimination.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
51a04adc5ebc82830ee679830495424e330406cf 06-May-2011 Devang Patel <dpatel@apple.com> Remove little used statistical counter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d96efb83c11454f511f6b16bbf1fb07d8a14ef66 05-May-2011 Devang Patel <dpatel@apple.com> If debug info for inlined function is missing then handle it gracefully.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
597a7664e1bbe2ea5f757eb6e853bd1d2fe98d6c 04-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Producing a DW_FORM_addr for DW_AT_stmt_list is probably correct, but
it is both inefficient and unexpected by dwarfdump. Change to
a DW_FORM_data4.

While in here, change the predicate name to reflect that the position
is not really absolute (it is an offset), just that the linker needs a
relocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a938dd0dc9737779dfd476e3099e0bad617aad4a 04-May-2011 Devang Patel <dpatel@apple.com> Tighten up check for empty (i.e. no meaningful debug info) module. This fixes dwarf-die2.c test case from gcc test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee4a3abede8fe895030bc75e560020ee6bac2deb 03-May-2011 Devang Patel <dpatel@apple.com> Even if the subprogram is going to use AT_specification, emit DW_AT_MIPS_linkage_name. This helps gdb and fixes var-path-expr.exp regression reported by gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
30692abac7da49376b7d3b33d74612893d72f547 03-May-2011 Devang Patel <dpatel@apple.com> If the front end has emitted llvm.dbg.cu and other debug info anchors (clang does it now) then use them directly. This saves one scan of entire module, to collect debug info, which in turns saves few machine cycles at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c455bb7dc795b8eef66d35ec30650f39ee8b61ab 02-May-2011 Devang Patel <dpatel@apple.com> Emit debug info for global variables first.
This works around a limitation in gdb which is reported by following inherit.exp test failures from gdb testsuite.

gdb.cp/inherit.exp: print g_vB.vB::vb
gdb.cp/inherit.exp: print g_vB.vB::vx
gdb.cp/inherit.exp: print g_vC.vC::vc
gdb.cp/inherit.exp: print g_vC.vC::vx
gdb.cp/inherit.exp: print g_vD.vB::vb
...



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c26f5447e39b43a6dd9c1a9d88227f4adf3b5600 28-Apr-2011 Devang Patel <dpatel@apple.com> Teach dwarf writer to handle complex address expression for .debug_loc entries.
This fixes clang generated blocks' variables' debug info.
Radar 9279956.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e1cdf84ee5ca72a38f4dedd6b12cce21cf83e415 28-Apr-2011 Devang Patel <dpatel@apple.com> Simplify handling of variables with complex address (i.e. blocks variables)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9341d10f9443da6c6b0833f8a208afec69505f6e 26-Apr-2011 Devang Patel <dpatel@apple.com> Rename a local variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b865d46d95a4c5073d0c006ccc1773641f88fc98 26-Apr-2011 Devang Patel <dpatel@apple.com> Rename a method to match what it really does.
s/addVariableAddress/addFrameVariableAddress/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
80925f5dca36e34c6c28ae080d2fd2bf861fb346 26-Apr-2011 Devang Patel <dpatel@apple.com> Do not drop a variable's complex address if it is not based on frame base.
Observed this while reading code, so I do not have a test case handy here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5e06bb83f4d7b1b86659ad851324350afb04f5b0 23-Apr-2011 Devang Patel <dpatel@apple.com> Let front-end tie subprogram declaration with subprogram definition directly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eac0c9dc7759b013bbe831ace1afa37bc46915c6 22-Apr-2011 Devang Patel <dpatel@apple.com> Do not leak argument's DbgVariables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
acc381bee95b5eafcdf3eaa85a66e83a5773aacb 21-Apr-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c4b4b195fa86715622d04bf87b9391fc06f3dca 21-Apr-2011 Devang Patel <dpatel@apple.com> Add comment in output stream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3f3bf9387b75f4c932e4c59bd7af719d26ae4b99 18-Apr-2011 Devang Patel <dpatel@apple.com> Reduce clutter in asm output. Do not emit source location as comment for each instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
65705d559af0ac7002320dd582cb0d59ce70485a 13-Apr-2011 Devang Patel <dpatel@apple.com> Remove extra bytes that were added for gdb. We do not have good poiner to understand actual reason behind this fixme. Spot checking suggest that newer gdb does not need this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
513edf62fa63ca9051cd95de9af04a3506d1e902 13-Apr-2011 Devang Patel <dpatel@apple.com> Simplify. There is no need to use static variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3cbee30eacd5d918a00f21c08dbd10ee9ae73925 13-Apr-2011 Devang Patel <dpatel@apple.com> This mechanical patch moves type handling into CompileUnit from DwarfDebug. In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8b9df62d0227beab8c7adb487fb909e67bbc7237 12-Apr-2011 Devang Patel <dpatel@apple.com> Refactor CompileUnit into a separate header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3f932a74be207eaad700ac7898f63c06131097ea 09-Apr-2011 Devang Patel <dpatel@apple.com> Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fb6e8d65547b744b1804b74b263f163e9879b901 08-Apr-2011 Devang Patel <dpatel@apple.com> Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
da19475328ece3da19437a2e9eef035dcafa2814 06-Apr-2011 Devang Patel <dpatel@apple.com> Add support to encode function's template parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b4c2bc25439bd4a226a85e1f3d8b420c07590622 05-Apr-2011 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e050f50443eff5449016d5bd24bd9401685a227c 05-Apr-2011 Devang Patel <dpatel@apple.com> Do not emit empty name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
adb877d62e5ac88db037d91bcd2e9f7dc2c4cd7a 26-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Collect and coalesce DBG_VALUE instructions before emitting the function.

Correctly terminate the range of register DBG_VALUEs when the register is
clobbered or when the basic block ends.

The code is now ready to deal with variables that are sometimes in a register
and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack
slot'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
15a3ea0628d2e961cecd70b4e284149524aa3019 25-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Emit less labels for debug info and stop emitting .loc directives for DBG_VALUEs.

The .dot directives don't need labels, that is a leftover from when we created
line number info manually.

Instructions following a DBG_VALUE can share its label since the DBG_VALUE
doesn't produce any code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
23670e5b95fcaf88238239729457393b8cc831ff 24-Mar-2011 Devang Patel <dpatel@apple.com> Keep track of directory namd and fIx regression caused by Rafael's patch r119613.

A better approach would be to move source id handling inside MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
01079311e153dae59a38aa0cdf5332eb3e410abf 23-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Don't coalesce identical DBG_VALUE instructions prematurely.

Each of these instructions may have a RegsClobberInsn entry that can't be
ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc
merges entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
28cf1156c93afabedc69fe7b73aa92ce85e323a5 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Reapply r128045 and r128051 with fixes.

This will extend the ranges of debug info variables in registers until they are
clobbered.

Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on
the stack with DBG_VALUE instructions referring to variables in the frame
pointer. This fixes the gdb test-suite failure.

Fix 2: Don't trace through copies to physical registers setting up call
arguments. These registers are call clobbered, and the source register is more
likely to be a callee-saved register that can be extended through the call
instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c1dbd5d9c30ea67ae45f190ff90e076cdf8bbc17 22-Mar-2011 Andrew Trick <atrick@apple.com> Revert r128045 and r128051, debug info enhancements.

Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bd17478f2f6dd3630c4e2fafaa71e2424e08c96e 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Clear map after use.

This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e17232ee4de2f608f0e5d965368c2bc54b6c1e83 22-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.

These ranges get completely jumbled by the post-ra scheduler, and it is not
really reasonable to expect it to make sense of them.

Instead, teach DwarfDebug to notice when user variables in registers are
clobbered, and terminate the ranges there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
83320a023c26aa8150761fc0694e7999941febb2 16-Mar-2011 Daniel Dunbar <daniel@zuster.org> Revert r127757, "Patch to a fix dwarf relocation problem on ARM. One-line fix
plus the test where it used to break.", which broke Clang self-host of a
Debug+Asserts compiler, on OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2589d0aedf97f1f34246fe89b27270c9d998d19f 16-Mar-2011 Renato Golin <renato.golin@arm.com> Patch to a fix dwarf relocation problem on ARM. One-line fix plus the test where it used to break.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bbd0f45b4711ee54f1c636a6de7afa766c855327 03-Mar-2011 Devang Patel <dpatel@apple.com> Fix typo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6f676be5ffdf80543e6e6b4d3c9c6b8b8e838fa5 03-Mar-2011 Devang Patel <dpatel@apple.com> Fix thinko in previous check-in.
Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cb3a65755e5161519355e5aad5107915be750597 03-Mar-2011 Devang Patel <dpatel@apple.com> llvm::Function argument count is not a good indicator of how many arugments does the function have at source level. If we need more space, just resize vector conservatively. This vector is only used once per function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0478c15d1ecdbc53cf106419629479bcb2a0f4af 01-Mar-2011 Devang Patel <dpatel@apple.com> If argument numbering is encoded in metadata then emit arguments' debug info in that order.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f754f50805fee2bb4d461a9b41107122a22cd6f6 25-Feb-2011 Cameron Zwarich <zwarich@apple.com> Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f410608271b6318bfc9e26c0d199f185d5a89ccb 24-Feb-2011 Devang Patel <dpatel@apple.com> Enable DebugInfo support for COFF object files.
Patch by Nathan Jeffords!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0eea95d1cdfb0da79defe45a3cf13debc1b4a6d7 24-Feb-2011 Devang Patel <dpatel@apple.com> Do not use DIFactory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3a4ae32ed7bf117a4fdc438fe0b297eec8e9b1ac 23-Feb-2011 Devang Patel <dpatel@apple.com> Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5bc9fec7ec6db25247dbcc2d463209a22f7da6f0 19-Feb-2011 Devang Patel <dpatel@apple.com> Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of debug info reduced by almost 7%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d3526eab46b96509d3195cf3367811af67b6d2c7 15-Feb-2011 Devang Patel <dpatel@apple.com> Ignore DBG_VALUE machine instructions while constructing instruction ranges based on location info.
Machine instruction range consisting of only DBG_VALUE MIs only contributes consecutive labels in assembly output, which is harmless, and empty scope entry in DebugInfo, which confuses debugger tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6c3ea9012e40a95d45592a15c63895d09ece5052 04-Feb-2011 Devang Patel <dpatel@apple.com> Merge .debug_loc entries whenever possible to reduce debug_loc size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e7d93877c6e7029d27bfd1c137fceb472f81f390 02-Feb-2011 Devang Patel <dpatel@apple.com> Add support to describe template value parameter in debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7e2cb116556e1153401cd6b94d0f51db978f6902 02-Feb-2011 Devang Patel <dpatel@apple.com> Add support to describe template parameter type in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e449d1f189e8ed719fa42d3ec2216a9d8adb9852 20-Jan-2011 Devang Patel <dpatel@apple.com> Fix debug info for merged global.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dacde944bd585d512aabc4f3fa56440642b03a54 20-Jan-2011 Devang Patel <dpatel@apple.com> Fix register address expression. Patch by Ken Dyck.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a36478feacffd66bde53c14561cab1a64b1b9c7d 11-Jan-2011 Devang Patel <dpatel@apple.com> Appropriately truncate debug info range in dwarf output.
This is not yet completely enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
16c29b5f285f375be53dabaa73e3e91107485fe4 10-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
51a666f0e50a34b74212db9c5814153c885153a5 07-Jan-2011 Devang Patel <dpatel@apple.com> Speculatively revert r123032.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1dea232624c246341a5a98e0d481ba89f854012c 07-Jan-2011 Devang Patel <dpatel@apple.com> Appropriately truncate debug info range in dwarf output.
Enable live debug variables pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
76a788c886376d451ae3baa55429bf2d19039e9e 06-Jan-2011 Devang Patel <dpatel@apple.com> Emit 128 bit constant.
This fixes PR 8913 crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d639c7cab42f8919b2d9f5ab169203bf8bc45f10 09-Dec-2010 Devang Patel <dpatel@apple.com> DW_FORM_data1 may not provide sufficient room for vtable index, use _udata instead.
This fixes radar 8730409.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b7313e274c0b26879b45023a85a3c8a4b5ac5c92 06-Dec-2010 Devang Patel <dpatel@apple.com> Undefined value in reg 0 may need a marker to identify end of source range.
This will be used to truncate live range of DBG_VALUE instruction by register allocator and friends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
82f58740c76b42af8370247b23677a0318f6dde8 20-Nov-2010 Anton Korobeynikov <asl@math.spbu.ru> Move some more hooks to TargetFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d9e3385ced2dc887e2fe8e1c071bd2611e4d3ede 19-Nov-2010 Anton Korobeynikov <asl@math.spbu.ru> Move getInitialFrameState() to TargetFrameInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5c0556341e29246e697c73844a5f9b1e14474715 18-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Change CodeGen to use .loc directives. This produces a lot more readable output
and testing is easier. A good example is the unknown-location.ll test that
now can just look for ".loc 1 0 0". We also don't use a DW_LNE_set_address for
every address change anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
522ad74e4bd27e9156916ed58dd5c7f1a17a541d 13-Nov-2010 Devang Patel <dpatel@apple.com> Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
62367045a493f9bffa433e34b68fc7dda96e1edd 10-Nov-2010 Devang Patel <dpatel@apple.com> Take care of special characters while creating named MDNode name to hold function specific local variable's info.
This fixes radar 8653152. I am checking in testcase as a separate check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c8821046f8998c3e69985fdc53d8241c6ad4c762 02-Nov-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4d7f9a00a58c391f3e1235a9d9c28fd20d1405f5 29-Oct-2010 Devang Patel <dpatel@apple.com> Ignore empty blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc2bb9bbd0610bc43f08be6678431148898591aa 28-Oct-2010 Devang Patel <dpatel@apple.com> Do not work too hard to find type's file info. There is a special field to record file info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3cabc9d2c974140c384e21cf5c1904b514acb82b 28-Oct-2010 Devang Patel <dpatel@apple.com> Technically DIFile scope should also be handled here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cbbe287f8adc82a90827f036e048bb53d1573fed 26-Oct-2010 Devang Patel <dpatel@apple.com> s/beginScope/beginInstruction/g
s/endScope/endInstruction/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a568d66512759f93e0d37af7c8f905603dd27449 26-Oct-2010 Nick Lewycky <nicholas@mxc.ca> For statistics that are only used in functions declared in !NDEBUG, wrap the
declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by
Matt Beaumont-Gay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9a31f0f398df8830161507a6dcf369961269c6cf 25-Oct-2010 Devang Patel <dpatel@apple.com> Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b2bada305ef63479f987ba5feb6c2a8d11904b53 08-Oct-2010 Devang Patel <dpatel@apple.com> Line number 0 indicates there is no source line/file name info available for this construct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7b172c6ae6c4fea90db785902b4326afb21ad584 08-Oct-2010 Devang Patel <dpatel@apple.com> Provie a clearner interface so that FE can decide whether a function has prototype or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d6747df5e0354256a9e440d38f21c0b3ca82af28 06-Oct-2010 Devang Patel <dpatel@apple.com> Add support for DW_TAG_unspecified_parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
21ea1d5b4cad8c8dee1288453f797572766c94d8 02-Oct-2010 Devang Patel <dpatel@apple.com> Add support to let FE mark explict methods as explict in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3cf763dc7a9741c14432710943ab66b439562881 30-Sep-2010 Devang Patel <dpatel@apple.com> Let FE mark a variable as artificial variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1a30123b609d48ac50f9a9e088e55683df70cfc3 29-Sep-2010 Devang Patel <dpatel@apple.com> Add support to let FE encode method access specifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2a3616012c19e0bb0db31ec740c5cf683be87d84 29-Sep-2010 Devang Patel <dpatel@apple.com> Assign DW_ACCESS_public accessibility attribute to members by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1a7ca0354a44e321d5f4839a73239e6eaec54ad5 28-Sep-2010 Devang Patel <dpatel@apple.com> Provide an interface to let FEs anchor debug info for types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee70fa77b4f8bdfd93741609a4d33a831476d505 28-Sep-2010 Devang Patel <dpatel@apple.com> Remove dead argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
be90c3a0ea66fb05dfe72fbe42cca2713c6c8b1a 22-Sep-2010 Devang Patel <dpatel@apple.com> Use DW_OP_fbreg when offset is based on frame register.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1905a18abcb46e6a57eeaa291cd81fc669cedfd0 16-Sep-2010 Devang Patel <dpatel@apple.com> If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b1fcfbe89bd155fb88485b2a3a995adba3994003 02-Sep-2010 Devang Patel <dpatel@apple.com> Fix .debug_range for linux. Patch by Krister Wombell.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ae84d5b9bafd1ba88aa12e8398e5385f229fa306 01-Sep-2010 Devang Patel <dpatel@apple.com> Use absolute label for DW_AT_stmt_list if a target does not prefer offset here.
This patch was developed on top of original patch by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b48eade42022c929fcf0f2afcffdf849c5bd05a 01-Sep-2010 Devang Patel <dpatel@apple.com> Reapply r112623. Included additional check for unused byval argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
81b79b5fa808730d102cdc4b60a52e602d425de5 31-Aug-2010 Devang Patel <dpatel@apple.com> Revert r112623. It is causing self host build failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8480c2e314f6c01638ea16f32149417848352085 31-Aug-2010 Devang Patel <dpatel@apple.com> Remember byval argument's frame index during argument lowering and use this info to emit debug info.
Fixes Radar 8367011.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9e3bd2c476570217f939f521ed191dd0278b1ada 31-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
af608bd4fe3c334d2f81f174478825f35b195adc 24-Aug-2010 Devang Patel <dpatel@apple.com> Revert r107202. It is not adding any value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0c4720c6bdf517d02aaf71d90c0572a5aa4813bc 23-Aug-2010 Devang Patel <dpatel@apple.com> Handle qualified constants that are directly folded by FE.
PR 7920.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e7e5a0f6fb1dec21f296a9872088935860660819 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not forget debug info for enums. Use named mdnode to keep track of these types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
293680756404020a4888860db9f34728c9cecd1f 10-Aug-2010 Devang Patel <dpatel@apple.com> Handle TAG_constant for integers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ecbd8e866bedb87e68946fa711021e6b8efff43a 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
85e9580e25fdee623dc436d7f06faaefb7525f43 10-Aug-2010 Devang Patel <dpatel@apple.com> Drop "const". It does not add value here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9fa539ce33bbf44595bd4f0a903ab7d9c5e7cd93 10-Aug-2010 Devang Patel <dpatel@apple.com> Do not include file static variable in pubnames list.
Refactor and simplify code to avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
02ecdefbe48a054d962d6977967d1ae57a31a074 10-Aug-2010 Devang Patel <dpatel@apple.com> Undo accidental commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
450b793a0446042ee9af9d384de7cca243856b0b 10-Aug-2010 Devang Patel <dpatel@apple.com> Simplify. Avoid redundant checks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2739896cdd3c987de3d7f9a41217b4b954287c8d 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8bd11de33e9f6ee9d3dd1eed157e801aa27d5783 09-Aug-2010 Devang Patel <dpatel@apple.com> Refactoring. Update DbgVarible to handle queries itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8162574aaafff760abf04ec780c24b45b6d9cfdb 09-Aug-2010 Devang Patel <dpatel@apple.com> It is ok, and convenient, to pass descriptors by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e03161c28e361d1813dd0085cacd596f5cde7327 09-Aug-2010 Devang Patel <dpatel@apple.com> Rename a method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5573a7da298e68db9e63307b766dd650f044287e 05-Aug-2010 Devang Patel <dpatel@apple.com> Use location entry only of the location described by DBG_VALUE is valid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a54e0cca4be62678687f943a085e3f64eed9eb2c 04-Aug-2010 Devang Patel <dpatel@apple.com> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b2cf5816f9bada99ee9ba5cc1b56841142ebd706 04-Aug-2010 Devang Patel <dpatel@apple.com> If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e9a1ccaf8036fbd46a350ddd3367e25b1fbc8d54 02-Aug-2010 Devang Patel <dpatel@apple.com> Free DbgScope created for dead functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
37032350c8c95a3d742b75be101c11b32f4211d7 27-Jul-2010 Devang Patel <dpatel@apple.com> It is FE's responsibility to emit proper directory name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2f58485fc87143bb97e3d88dde9ab2d28211cd28 24-Jul-2010 Devang Patel <dpatel@apple.com> Use current working directory when Dirname is empty. This only happens when absolute source file path is used on compiler command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5f2f69b6481cab766723edc74825eaa1143f4f62 24-Jul-2010 Devang Patel <dpatel@apple.com> Revert r109262.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f83f42599d1242cc498b8062bb514b357aa572ce 23-Jul-2010 Devang Patel <dpatel@apple.com> IF directory name is empty then try to extract one using absolute file name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
917290043f87b8efa6ba540bec5963013c517912 22-Jul-2010 Jim Grosbach <grosbach@apple.com> For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1e20b963131dc205dc219a17baeda2b3e27c2b66 21-Jul-2010 Jim Grosbach <grosbach@apple.com> 80 column and trailing whitespace cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
872814ae048df032bddf9299c850f5bda08299a9 21-Jul-2010 Dan Gohman <gohman@apple.com> Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0db42710693badaab808ccf8bcd265144ce8493d 20-Jul-2010 Stuart Hastings <stuart@apple.com> Correct line info for declarations/definitions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8b3a6b651e267e5e6e68a3bd0aabd8ee90eb1aac 19-Jul-2010 Devang Patel <dpatel@apple.com> Fix PR 7662.
Do not try to insert local variable info to a DIE used for function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
99cfb69f17ccf6dca7378fe6d1c60758e5cabd1f 09-Jul-2010 Stuart Hastings <stuart@apple.com> Reverting r107918 and r107919. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0afbf23453a7ea2ed2705ca350ea64629852558c 09-Jul-2010 Devang Patel <dpatel@apple.com> Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.
This fixes PR7596 .



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c0e2639a3450e5cca5cd5082cef55a64bbd27ad4 09-Jul-2010 Stuart Hastings <stuart@apple.com> Fix decl/def debug info for template functions. Radar 8063111.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ca76f6f57cc50fcdbdb661ea80f7ffd42220fdbe 08-Jul-2010 Devang Patel <dpatel@apple.com> Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8aa61477e3cbc6ebc399274042799a5cf09629a1 08-Jul-2010 Devang Patel <dpatel@apple.com> One MDNode may be used to create regular DIE as well as abstract DIE.
Keep track of abstract subprogram DIEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
869aa463c82b1a9a92d3683d532fc106e2b96575 07-Jul-2010 Devang Patel <dpatel@apple.com> Rename couple of maps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6140962aba758e758b04bd581bc6ef050f31549f 07-Jul-2010 Devang Patel <dpatel@apple.com> 80 cols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7fb231cbecb18634ef4af8d87ab82b6987f664d8 01-Jul-2010 Devang Patel <dpatel@apple.com> Do not require line number entry for undefined local variable.
This is a regression caused by r106792 and caught by gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
90e19aad7dae346a7dc1a66f07bfe13038e67349 30-Jun-2010 Devang Patel <dpatel@apple.com> Do not construct DIE for already processed MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1d68d21bae7602fd1e561a85de9a736dc16eb3e2 30-Jun-2010 Devang Patel <dpatel@apple.com> Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1e4782d6f95c065d06ed53eb96036737beb66bef 29-Jun-2010 Devang Patel <dpatel@apple.com> Do not hardcode DW_AT_stmt_list value.
Inspired by Artur Pietrek.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9b93b6b49a406bbeec364408e115c671098f3944 29-Jun-2010 Devang Patel <dpatel@apple.com> Use DW_FORM_addr for DW_AT_entry_pc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0dd4558e7d0d2191c3d69e61e6a3e349dd605c80 28-Jun-2010 Devang Patel <dpatel@apple.com> Include inlined function in list of processed subprograms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4a1cad673c5bf0812099c6c8f551fe6af967c2b3 28-Jun-2010 Devang Patel <dpatel@apple.com> Preserve deleted function's local variables' debug info.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f347b82d49394965d2a5937ea9bd68d90029655e 28-Jun-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
78e127d81b58de8663f8328dc1cdbd1f31a759fd 26-Jun-2010 Devang Patel <dpatel@apple.com> Collect debug info for optimized variables of inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
486ca764216fea073d3bcc0716b181ca861b74f7 24-Jun-2010 Devang Patel <dpatel@apple.com> DBG_VALUE machine instruction pointing to undefined register for a variable justify a separate scope if the variable is inlined function's argument.
Radar 8122864.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a762b093107ac3aa438815627006425d0b13a236 22-Jun-2010 Devang Patel <dpatel@apple.com> Use single interface, using twine, to get named metadata.
getNamedMetadata().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7e1d742e1a868871d7c35d3880d8aa5d6d5d21e2 22-Jun-2010 Devang Patel <dpatel@apple.com> Discard special LLVM prefix from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d1bbc6b70e2288033fcb8c5b8273e8afb0fe9718 22-Jun-2010 Devang Patel <dpatel@apple.com> Do not rely on Twine temporaries to survive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
03c3dc7b6828d48a9f3be50896b3390a696caa64 18-Jun-2010 Dan Gohman <gohman@apple.com> Give NamedRegionTimer an Enabled flag, allowing all its clients to
switch from this:

if (TimePassesIsEnabled) {
NamedRegionTimer T(Name, GroupName);
do_something();
} else {
do_something(); // duplicate the code, this time without a timer!
}

to this:

{
NamedRegionTimer T(Name, GroupName, TimePassesIsEnabled);
do_something();
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2f7d5291de87bfa195884e84dc0efe9705c2215c 16-Jun-2010 Devang Patel <dpatel@apple.com> Use separate named MDNode to hold each function's local variable info.
This speeds up local variable handling in DwarfDebug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cad22ad0bf1f1d5a40f1bc8ebe02d4edc25e2553 16-Jun-2010 Stuart Hastings <stuart@apple.com> Added a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
215aa15a0d0df75af8d9cef6ef49026dcc3258a8 11-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. (Again.) Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6d56b9fabcfb1fc874a6122cf41d876c4673e9d4 05-Jun-2010 Stuart Hastings <stuart@apple.com> Revert 105492 & 105493 due to a testcase regression. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0f1b8135673f512b3373f3e1f16607f70537be72 05-Jun-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
354eb7ea968f35a9e8628b8036a69f48a66e1ff9 02-Jun-2010 Devang Patel <dpatel@apple.com> Skip identical instruction while calculating DBG_VALUE range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b9abe9f2ad213a1510c23525721d317ec44ee97f 02-Jun-2010 Devang Patel <dpatel@apple.com> Use local small vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f2e77676242bb5a3940da7b41c42704135e6bd92 01-Jun-2010 Devang Patel <dpatel@apple.com> Ignore line number of debug value in undefined register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8ffc42f8eaf74dc85a90ca15326508a3a00b44ad 28-May-2010 Stuart Hastings <stuart@apple.com> Revert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d8720f4ba3546df76d75c94a8893a385de273cc6 27-May-2010 Devang Patel <dpatel@apple.com> Do not drop location info for inlined function args.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
55e9717e59165d15161991be56c75c3e80220ee8 27-May-2010 Devang Patel <dpatel@apple.com> inlined function's arguments need a label to mark the start point because they are not directly attached to current function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
aa66d2f48ad0c2d2b3f8929dea432bb17a5442a5 27-May-2010 Stuart Hastings <stuart@apple.com> Support for nested functions/classes in debug output. Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
80250686d5df7f3b603eeaa08fb94f2765829e0a 27-May-2010 Devang Patel <dpatel@apple.com> Simplify. Eliminate unneeded debug_loc entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
77051f58e9417670c66d7b7f420a98ef46dbcdc6 26-May-2010 Devang Patel <dpatel@apple.com> There is no need to force an line number entry (using previous location) for a temp label at unknown location.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b2b31a6f93f5329c86e41c04ec8c33799d012f9e 26-May-2010 Devang Patel <dpatel@apple.com> Identify instructions, that needs a label to mark debug info entity, in advance. This simplifies beginScope().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b21a758bc232fcecdaca4fbc05334bb5b79cdad1 26-May-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e2df84254d628db835eb3e6456187cc3c0085a07 26-May-2010 Devang Patel <dpatel@apple.com> Do not construct location list backword!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c3f5f783a2923e7842802d5cd1a932ee56c3bb45 26-May-2010 Devang Patel <dpatel@apple.com> First cut at supporting .debug_loc section.
This is used to track variable information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
295cdf8b8293f31953bad9a4a9c0586e934181c6 24-May-2010 Devang Patel <dpatel@apple.com> Do not emit line number entries for unknown debug values.
This fixes recent regression in store.exp from gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
65eb482e8fcd6084d83793aeb767ef0bddefc92a 22-May-2010 Devang Patel <dpatel@apple.com> Collect variable information during endFunction() instead of beginFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
379fe83dda937658b6b08d3c531f0db6c25b7dd7 21-May-2010 Devang Patel <dpatel@apple.com> Simplify


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c0c5a26deadb11b607ffd54b7b8978a56bf3545f 21-May-2010 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee43286ca9b6ae68d3419e23e51925cd1a6808aa 20-May-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
26c1e56f13b08ce3233b8f2e1c3e208af7b1ad1f 20-May-2010 Devang Patel <dpatel@apple.com> Split DbgVariable. Eventually, variable info will be communicated through frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
461a646a035a8c5cf717fcd006db0d637e342e70 19-May-2010 Devang Patel <dpatel@apple.com> Revert r104165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f4ccaeaef93c56af7017b7e503888e8a0f6d8851 19-May-2010 Devang Patel <dpatel@apple.com> There is no need to maintain InsnsBeginScopeSet separately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
26c699565424e93e9d0d0495d7e914d89071d6e0 14-May-2010 Devang Patel <dpatel@apple.com> Do not forget to mark prcessed arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
98e1cac52c0eb35fdf6608befd58a8d09d3459d6 14-May-2010 Devang Patel <dpatel@apple.com> Add support to preserve type info for the variables that are removed by the optimizer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
163a9f7c5f545414506364a94689e22d59533fe6 11-May-2010 Devang Patel <dpatel@apple.com> Enable multiple Compile Units in one module.
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c665a5146d37cbc793f2e4413fd39a40ec230e12 08-May-2010 Devang Patel <dpatel@apple.com> Instead of just verifying compile unit, verify entire type, variable, namespace etc..


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a49d8772902c2a72c298952f633ab4224cf33add 08-May-2010 Devang Patel <dpatel@apple.com> Remove DIGlobal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c00487dc33b21061a5daf3ef9c2455715683f3f 07-May-2010 Devang Patel <dpatel@apple.com> Verify entire type descriptor not just tag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e9f8f5e6004fd49f2aff4dd23db8e9b0e4454fc6 07-May-2010 Devang Patel <dpatel@apple.com> Wrap const MDNode * inside DIDescriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2db49d797b86b7f3615bae17b2b016727778a6c4 07-May-2010 Devang Patel <dpatel@apple.com> Avoid DIDescriptor::getNode(). Use overloaded operators instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
281d65d004df3ecf84aeb8be68cd0ce0215d5f19 07-May-2010 Dan Gohman <gohman@apple.com> Disable the new unknown-location code for now. It causes a major
increase in the debug line info section, and it's causing
regressions in a gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
75395847817b88798f9d8cdfb7bc99388167d291 06-May-2010 Dan Gohman <gohman@apple.com> Update LabelsBeforeInsn also, when creating unknown-position labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1cc0d628552a43568ec7c143698025ab18f2e072 06-May-2010 Dan Gohman <gohman@apple.com> Emit debug info for MachineInstrs with unknown debug locations, instead
of just letting them inherit the debug locations of adjacent instructions.

Debug info should aim to be either accurate or absent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c488376efc195e3ee3061d0c3e25e56ff25c7bf 04-May-2010 Devang Patel <dpatel@apple.com> Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is available all the time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ccff812777470d294b7d7407783ccb6111ca0d10 30-Apr-2010 Devang Patel <dpatel@apple.com> Attach AT_APPLE_optimized attribute to optimized function's debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
28ff35d030e2f49ff4e4b1544c015ebe011a530b 28-Apr-2010 Devang Patel <dpatel@apple.com> Emit debug info for byval parameters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
059ea138a6e4180de0d70390f7147dac66614517 28-Apr-2010 Chris Lattner <sabre@nondot.org> remove some default arguments to EmitAlignment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a43098d388131dd0757aa72fd0e7db3587293906 28-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
97303ee27d3985363987ccdd04a8147713462308 28-Apr-2010 Devang Patel <dpatel@apple.com> Use isReg(), isImm() and isFPImm().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dcde3db38eaf6f32f96e5f5373b8b29013d272b3 27-Apr-2010 Devang Patel <dpatel@apple.com> Check operand type first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0f9d95254291418a548d1341db540b5d5c11e8f4 27-Apr-2010 Devang Patel <dpatel@apple.com> Ignore DBG_VALUE instructions that points to undef values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eac9c07fde0620a3b19cc923c0e80397530b26b0 27-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.
This patch fixes bug (PR6894) introduced by previous version of this patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5098da0a7e3fb841f71bf5be9211b36fa95f140f 27-Apr-2010 Devang Patel <dpatel@apple.com> Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug range entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
314bf7cbbf7e27b47faa4e78d321ea16057ae6a0 23-Apr-2010 Dan Gohman <gohman@apple.com> Revert 102135, 102129, 102127, 102106, 102104, 102102, 102012, 102004,
because 102004 causes codegen to emit invalid assembly on at least
x86_64-unknown-gnu-linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
18ee3bb0b784d29fdff40301d5691e7e855de547 22-Apr-2010 Devang Patel <dpatel@apple.com> Adjust debug range offsets for isWeakForLinker() functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f1dabde404d2b2d6b4ca136f418f61f3b470039a 22-Apr-2010 Devang Patel <dpatel@apple.com> Rename InsnAfterLabelMap and InsnBeforeLabelMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3547a88b504a4f322cf3f20e05906e8276ebe6bb 22-Apr-2010 Devang Patel <dpatel@apple.com> Keep track of MCSymbol used to mark beginning of a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc655eaee05689860dd2e8d539e721d678a8e6ab 22-Apr-2010 Devang Patel <dpatel@apple.com> At this point Start and End are not null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
708e474c2ff2922786a9ea6562772d2f271dec28 21-Apr-2010 Devang Patel <dpatel@apple.com> Add command line option to disable debug info printing in .s file. This option does not impact debug info generation and preservation through earlier compile starges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9cdb4109d5fbbff3b881d3288a6ec518abc7712e 21-Apr-2010 Devang Patel <dpatel@apple.com> Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e566763b1915c7a4821ce95937b763724d271fec 21-Apr-2010 Evan Cheng <evan.cheng@apple.com> Implement -disable-non-leaf-fp-elim which disable frame pointer elimination
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
084751cd16c3b8017b5a237bd2575b65a6543f79 20-Apr-2010 Dan Gohman <gohman@apple.com> Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
responsible for figuring out what that's supposed to be on its own.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2a4a3b7c6180202d24aff5b1992067907aefcab6 19-Apr-2010 Devang Patel <dpatel@apple.com> Add DW_AT_APPLE_omit_frame_ptr to encode -fomit-frame-pointer flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
82d5eaf23e9588e47c18ce63acb6a5d35d67490a 17-Apr-2010 Dan Gohman <gohman@apple.com> Use const_cast instead of a C-style cast to cast away const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f2548caaa8b290aa598bf49c27dff72f7751ba5c 17-Apr-2010 Devang Patel <dpatel@apple.com> Add support to emit dwarf ranges.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b35798347ea87b8b6d36155b211016a7769f01ab 15-Apr-2010 Dan Gohman <gohman@apple.com> Fix a bunch of namespace polution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d33402629e7d2758bf0b04d9c2bde74d5fc57363 15-Apr-2010 Devang Patel <dpatel@apple.com> There is no need to track compile unit offsets if there is only one compile unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1d526c38e2d903a6c27bb7b90c8636e7b6600136 14-Apr-2010 Devang Patel <dpatel@apple.com> Clear MachineInstr->MCSymbol maps at the end of a function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
50d80e394d9612e15d9f84b67ed45f88a7826ea6 13-Apr-2010 Devang Patel <dpatel@apple.com> Do not include types without any definition in pubtypes list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5142471fcd9c8f4f86ad08e87cecdce1700562ba 09-Apr-2010 Devang Patel <dpatel@apple.com> Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e37b0c6c25262b6c9ef4f1595b18e77f299b5035 08-Apr-2010 Devang Patel <dpatel@apple.com> Rename a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1c246358a062bc3537c1286c6b9314d56854a257 08-Apr-2010 Devang Patel <dpatel@apple.com> One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6a5975f49fc632a2f288b9fb7004fd8ed26713ef 08-Apr-2010 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6669b81203d3ce6cfa1d505019ee6d64ae9df02c 08-Apr-2010 Devang Patel <dpatel@apple.com> Delete out of date comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6122a4d1c0c73c1d2d5754c50c68d1dc4ae6f70f 08-Apr-2010 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
96fbb3eea6ebcd2a6b75973cf11998b4cb0e6a81 07-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c4210794ee42542a20023cd0a800003797523e0 07-Apr-2010 Torok Edwin <edwintorok@gmail.com> Workaround the breakage in r100616 by guarding all timers with
TimePassesIsEnabled. This should allow make check to pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5f017e8086c4481da7f5ead2e1d66159e1cc9255 07-Apr-2010 Bill Wendling <isanbard@gmail.com> Use the "NamedGroupTimer" class to categorize DWARF emission better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5f0940002ac4f0601bf53ae9688c2f49045331e2 07-Apr-2010 Devang Patel <dpatel@apple.com> Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
795ee9dd1e43d9e3ba87c052f721b6f7a2161827 07-Apr-2010 John McCall <rjmccall@apple.com> Fix a number of clang -Wsign-compare warnings that didn't have an obvious
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
639336e0bda1373566d4cb29469f78fb4c9e95a6 06-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100530 & 100531 due to regressions in the GDB test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
983327b3516faac156d7a7ce26a80e24685221f4 06-Apr-2010 Stuart Hastings <stuart@apple.com> Revise debug info machinery to digest nested functions and classes.

A certain GDB testsuite case (local.cc) has a function nested inside a
class nested inside another function. GCC presents the innermost
function to llvm-convert first. Heretofore, the debug info mistakenly
placed the inner function at module scope. This patch walks the GCC
context links and instantiates the outer class and function so the
debug info is properly nested. Radar 7426545.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
57fbba4dba5fe095e325103ff34b9c99bab382f9 06-Apr-2010 Bill Wendling <isanbard@gmail.com> Output floating point representations in DWARF format. This is done by outputing
the FP encoding directly as a hex representation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
74e41f982100b225936d75047dccbe5f1988b1d0 05-Apr-2010 Chris Lattner <sabre@nondot.org> prune #includes, realize the MMI can never be null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
49cd6649e1246c05896fadefe2fcbc4bc1f5d221 05-Apr-2010 Chris Lattner <sabre@nondot.org> change AsmPrinter to use DwarfDebug/DwarfException directly
instead of going through DwarfWriter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ea761868b5e4c0166721daf259f86c3816b44f42 05-Apr-2010 Chris Lattner <sabre@nondot.org> trim some spurious references to DwarfWriter. SDIsel really doesn't
need it anymore, so don't addRequire it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
994cb126c9e67e3dc79db24c609ee48564ab98bc 05-Apr-2010 Chris Lattner <sabre@nondot.org> eliminate DwarfDebug::shouldEmit, which is the same now as MMI::hasDebugInfo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6342b416f3086d3a4b9972106b77a3a8bc1d0d81 05-Apr-2010 Chris Lattner <sabre@nondot.org> fix a regression on 2009-08-17-DebugInfo.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d850ac79b57e6e0bf68ee93a94d0b3dcd9f6ca35 05-Apr-2010 Chris Lattner <sabre@nondot.org> fastisel doesn't need DwarfWriter, remove some tendricles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a37d5387a54aa9424f6f8c96e5cab1dcbbcd8623 05-Apr-2010 Chris Lattner <sabre@nondot.org> change SizeOf to take AsmPrinter instead of TargetData,
simplifying a bunch of code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d38fee8ddc6597555904b82b6471a446cc5fe183 05-Apr-2010 Chris Lattner <sabre@nondot.org> 1) make DIE take AsmPrinter instead of DwarfPrinter.
2) change DwarfDebug to not inherit from DwarfPrinter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
02b86b93dc4616571fed3473c6da9421c10f2fcc 05-Apr-2010 Chris Lattner <sabre@nondot.org> Move EmitFrameMoves into AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6189ed10c1a6a39ad516aca2bda2c05fff35a55b 05-Apr-2010 Chris Lattner <sabre@nondot.org> now that the magic is dispelled, move EmitSectionOffset to AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
be15beb54ace72508cb3e597c1819132bbbe66f1 05-Apr-2010 Chris Lattner <sabre@nondot.org> only emit section labels if we have debug info, fixing a few
regtest failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4ad1efec925f36cb5ab461fc3c7e40baaf70ae1a 05-Apr-2010 Chris Lattner <sabre@nondot.org> I was wrong, ocaml isn't referencing 'Ldata_begin', so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
11b8f30567b514e9ea816fe11bff1c806a9331b9 05-Apr-2010 Chris Lattner <sabre@nondot.org> stop emitting some dead L labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9c69e28553c5c344666aebce266694cf2d73e8d5 05-Apr-2010 Chris Lattner <sabre@nondot.org> Store an use the symbols emitted at the start of the debug
sections instead of magically rematerializing them later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fa070b01753e2d547539dca4e9d55459c652dc9c 05-Apr-2010 Chris Lattner <sabre@nondot.org> remove the didInitial ivar, rename emitInitial to be more
descriptive, change EmitSectionOffset back to taking a
symbol instead of a string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2e3ebedc881091fcf0c68aebb48649582689ee78 05-Apr-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset a little bit, improve comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
83d1618b462ae42b61cfa366d090792eb10f05c6 04-Apr-2010 Chris Lattner <sabre@nondot.org> The "IsSmall" argument to EmitSectionOffset is always true,
constant fold it away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a64371828e27dcc30d38e7246dda0f35c1dfde40 04-Apr-2010 Chris Lattner <sabre@nondot.org> inline EmitDifference away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c021572511f08372ae52fe8e31d3c307cab448fd 04-Apr-2010 Chris Lattner <sabre@nondot.org> move gettemplabel and getdwlabel to AsmPrinter and rename
them for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7e1a8f882f1baa1c0d5204373d6eb4cb7fc9f3ea 04-Apr-2010 Chris Lattner <sabre@nondot.org> move uleb/sleb printing into AsmPrinter from DwarfPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3f53c8398d81065736a784469c9dd5afff85673f 04-Apr-2010 Chris Lattner <sabre@nondot.org> clean up the asmprinter header and privatize some stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9d1c1ada213c80135fbdda704175aae689daa6f9 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove TargetMachine.h #include, also, TRI isn't used frequently
enough to warrant caching in AsmPrinter, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
75f50725c1d7f86ee545337b155b4feac66627f6 04-Apr-2010 Chris Lattner <sabre@nondot.org> remove the raw_ostream from various dwarf printing things.

The only thing left is LEB printing, which uses EmitRawText
for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
de4845c163a5847c82d7ce10ed0c320098bce6e0 02-Apr-2010 Chris Lattner <sabre@nondot.org> Switch the code generator (except the JIT) onto the new DebugLoc
representation. This eliminates the 'DILocation' MDNodes for
file/line/col tuples from -O0 -g codegen.

This remove the old DebugLoc class, making it a typedef for DebugLoc,
I'll rename NewDebugLoc next.

I didn't update the JIT to use the new apis, so it will continue to
work, but be as slow as before. Someone should eventually do this
or, better yet, rip out the JIT debug info stuff and build the JIT
on top of MC.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c8e77640a53823b233f3f7a5c2be12aef9ebc69e 02-Apr-2010 Devang Patel <dpatel@apple.com> Revert r100117.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
24c20e2435be1ee2af5de486f7567f92cebaf8cd 01-Apr-2010 Devang Patel <dpatel@apple.com> Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
58c7aa61d49f155a1d36b9c14273de5a630de8e1 01-Apr-2010 Devang Patel <dpatel@apple.com> Skip instructions until new scope is seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8935d90a9095edf5643ef4a362a64df706ea97be 01-Apr-2010 Devang Patel <dpatel@apple.com> Cosmetic changes.
Update comment, rename a local variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f8df814869368edd3f74bc81dca202f0d2a55b66 01-Apr-2010 Stuart Hastings <stuart@apple.com> Reverting 100048; it broke two Frontend debug info tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a88cb38d0220d5b0e4394f3280e1cec5f30ef4fc 31-Mar-2010 Stuart Hastings <stuart@apple.com> Debug info can now properly represent functions inside classes inside other functions. Partial fix for Radar 7424645.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bbb88db993af5f30eecc3139f9bf7c703e8ad7c1 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Reduce string trashing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
345ef343ccc8c4e66166ae631c127136202e067b 31-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
being the exception).

~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1d65ba732cd0957a0badea4634c9272d93c71612 31-Mar-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ff741ab70975c266b3a4dd652b93cfc53bfbc8c3 31-Mar-2010 Chris Lattner <sabre@nondot.org> MI != 0 is checked in the assert right above this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
14d750d0ad97a7d7fa76c0177327cda3f32f876f 31-Mar-2010 Chris Lattner <sabre@nondot.org> use the isDebugValue() predicate and pop_back_val()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ed7a77bfb2c8d527ea8ac1a947d3ed80fbfb5839 31-Mar-2010 Chris Lattner <sabre@nondot.org> assert is a function-like macro, not a control flow operator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
870cfcf9a6189b65a8ee805b93a2c737c0183e62 31-Mar-2010 Chris Lattner <sabre@nondot.org> add new apis for getting/setting !dbg metadata on
instructions. In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
722f2290b800ea96670e923ee9a4aa3b9efa35e8 31-Mar-2010 Devang Patel <dpatel@apple.com> Ignore invalid metadata.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7ed631157738132f88125bc374850326f9b2f8cd 30-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to fall through after processing DBG_VALUE machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
aead63c0337ed24053b8bdde8918aacdc66d8231 30-Mar-2010 Devang Patel <dpatel@apple.com> Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a909d6635135acd12175f9de86e2a0ad47501b6c 29-Mar-2010 Chris Lattner <sabre@nondot.org> fix a variety of issues were we'd start DebugTimer but
not stop it by using RAII.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
553881bddcdeb66c0ae06bf9f62ca63b9f29b2e8 29-Mar-2010 Devang Patel <dpatel@apple.com> Refactor code to push DILocation prcessing into DwarfDebug.cpp from AsmPrinter.cpp.
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
de9b1efbe5650f2eef8a552a81e94a6e682e05f0 28-Mar-2010 Devang Patel <dpatel@apple.com> Revert 99772.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c7eae5ca4a5c9fd760ec3c38e1e46cd9fda113aa 28-Mar-2010 Devang Patel <dpatel@apple.com> Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9bb59a2bdc470c1b68a90a597ffa3f3bc8fbf22b 24-Mar-2010 Devang Patel <dpatel@apple.com> Use SP filename directly instead of SP's context's filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4a602caf2e973f4446f4eec366124077ce91d06d 23-Mar-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0493f95a2cc8f4faea3df1b97d613ae87c670153 22-Mar-2010 Devang Patel <dpatel@apple.com> DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
638fe8dd62f0bd37a0ae7374eea280c224a84b6f 22-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
it allocates to DwarfDebug::DIEValues.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5b33f3148c7495a5411109454fd1bd74baa291f6 17-Mar-2010 Devang Patel <dpatel@apple.com> Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
90a48adf9cbea48f5318a5eb778056b4413e2ec0 15-Mar-2010 Devang Patel <dpatel@apple.com> Emit dwarf variable info communicated by code generator through DBG_VALUE machine instructions.
This is a work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
63d7836267298f5b6cde43f0a89acbabfc109f48 14-Mar-2010 Chris Lattner <sabre@nondot.org> get MMI out of the label uniquing business, just go to MCContext
to get unique assembler temporary labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8d9aaba84e80d40093fa8e1fe452a5ddcb4cc7f7 14-Mar-2010 Chris Lattner <sabre@nondot.org> don't use getDWLabel("label" anymore, always go through MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
25b68c6770b7ba044ad37e0aed4f1c414f3b5209 14-Mar-2010 Chris Lattner <sabre@nondot.org> change SrcLineInfo to contain a label instead of a label ID.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b91306053d0aebd748bf854f05d93cd1939a1543 14-Mar-2010 Chris Lattner <sabre@nondot.org> use Label->isDefined() instead of isLabelDeleted() now that we
consistently use MCSymbol and only call this predicate after
they should have been emitted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5e6cbe0eff1249daaa02807f8cb4b33d43fdf985 13-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitFrameMoves to take BaseLabel in as a symbol
instead of as a stem+idx pair, simplify the "is a new
location" check to use symbol comparison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fb65807c349b82e3f464158e89acd894cbd0b6ed 13-Mar-2010 Chris Lattner <sabre@nondot.org> factor some labels, simplify some code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
206d61e62f02f5ea5eefdd125dc48ff28f15da4a 13-Mar-2010 Chris Lattner <sabre@nondot.org> various cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc733f54c0d344d72aadf2f925a08babfeb7ea6a 13-Mar-2010 Chris Lattner <sabre@nondot.org> reimplement the string pool used for inlined function
entries to not thrash std::strings and MCSymbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
deb0cba1bad5a46bbecb75666e415c3dee9c89eb 12-Mar-2010 Chris Lattner <sabre@nondot.org> inline the now-trivial implementation of GetGlobalValueSymbol into
some of its callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5c213dc78cc717c30908212049e35cfdb950fa24 12-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of
several fields to make it easier to figure out where bugs might be creeping in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1b596e399bd284bc7c2f48fb2e5a852452faf3dd 12-Mar-2010 Devang Patel <dpatel@apple.com> There is no need to create specification DIE for definitions at DIFile level.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d0f393d46f159f3349e219f9af6880b037822193 11-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits in DwarfDebug.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
49f618a1e4814a9fa3fd2855c6e2325753df477a 10-Mar-2010 Chris Lattner <sabre@nondot.org> add missing filename!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d85fc6e0b1750907bacf1cd7309e85e777b23a4d 10-Mar-2010 Chris Lattner <sabre@nondot.org> inline away a form of IsPCRelative, eliminating the
dead IsPCRel argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
188a87da79f51b00522b9487ee352a50a01e5ea4 10-Mar-2010 Chris Lattner <sabre@nondot.org> add some fixme's for MCizing. EH still has a few things that
need to be MCized, but the last debug info thing are LEB and
cygwin specific (which the MC api doesn't support yet) and
one specific form of EmitReference which I'll tackle next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
233f52be36a6a2ec053b1580fdf89625de256513 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate EOL, adding all comments with the OutStreamer.AddComment
method. With this, comments should end up on the same lines as the .byte
directives (for example) and we now get no output with:

$ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose

woot.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0d9d70f0130ca609a1f41e0d90b3952751c110ab 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a bunch of \n's that are being printed to O. Next up is to kill
off "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c608784dc8a668abbb96e7a471e6341c1fda669f 09-Mar-2010 Chris Lattner <sabre@nondot.org> reapply r98035:
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6c7dfc046326f7c52c8df782c326b703882b3796 09-Mar-2010 Chris Lattner <sabre@nondot.org> add some extra checks. I'm not sure why, but this does unbreak a
failure remaining on mainline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee6414cf04d680d2c49b867fc6085be79ed32a44 09-Mar-2010 Eric Christopher <echristo@apple.com> Speculatively revert r98035. It appears to have caused a set of buildbot
failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1e233f510c3d5d26de97d90ec6b061a6643e892c 09-Mar-2010 Chris Lattner <sabre@nondot.org> Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b7db73348241ff51f6ac6c4b65cd3d2ff36036b3 09-Mar-2010 Chris Lattner <sabre@nondot.org> change DbgScope to keep track of the start/end label as MCSymbol*
now that the dependence on ID is removed from MMI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5b9062cb3ad2a60f18e941ac42a2382302c46f24 09-Mar-2010 Chris Lattner <sabre@nondot.org> remove a useless optimization: now that label replacement never
happens, the start/end of a scope can never be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a34ec2290fa441d312ac33a61e6ec6029259bdef 09-Mar-2010 Chris Lattner <sabre@nondot.org> strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b2cc1a39f79742320ee6ba126d9eec4d6770dee7 09-Mar-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::printLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6cde3e6e993126df756e3be5b9ef43540b904644 09-Mar-2010 Chris Lattner <sabre@nondot.org> add a EmitSymbolValue convenience method to MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6ed0f90dacc7c42b48019ad035fc2767adeaf04a 09-Mar-2010 Chris Lattner <sabre@nondot.org> make InlineInfoLabels hold MCSymbol*'s, avoiding
recomputation of the labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b9dc5f7b580951d51cb32b56b769ccda0647a7f6 09-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize the last use of PrintLabelName and eliminate PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c3421bb80559c3103e5e52af11a92a02848b13b7 09-Mar-2010 Chris Lattner <sabre@nondot.org> now that the debug and eh emitters use a common .set counter,
we can eliminate "flavor".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
57578766aa33d1a22cd124316df318db3e44f34a 09-Mar-2010 Chris Lattner <sabre@nondot.org> simplify EmitSectionOffset to always use .set if it is
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything. Make EmitSectionOffset call EmitDifference
instead of duplicating it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
effa868d385d861fd1937ccac759bebe9b76596b 09-Mar-2010 Chris Lattner <sabre@nondot.org> Remove a version of EmitDifference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dd8187a3e9509c670162b6ae8b7115723a37f01c 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate a form of PrintLabelName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c7249da2e9d1b89f3b49a12dc698d6a683c32402 08-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate the non-MCSymbol versions of EmitReference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f829eef8facab98ecb0fab5823511596b4ecb87b 08-Mar-2010 Chris Lattner <sabre@nondot.org> mc'ize EmitLabel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4faf59af82784dc21418d61bb3a68d3a2dc0b56e 08-Mar-2010 Chris Lattner <sabre@nondot.org> merge DIEObjectLabel and DIEDwarfLabel into DIELabel.

Yes, DIE you fiendish labels, die all of you.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b98b1bf43259052d1b06b90cc643a47bb239e2bb 08-Mar-2010 Chris Lattner <sabre@nondot.org> elimiante the DWLabel class, using MCSymbol instead. Start
switching some stuff over to passing around MCSymbol* instead
of stem+ID.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
77bf295dbb0b049fdec853ced0763084c43b2438 08-Mar-2010 Devang Patel <dpatel@apple.com> Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3c91b05d2b1751b9e4e21fd958d358ec463dcd3c 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating checks in Descriptor constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0ef3fa6aabc80995c8a0bd829c85c89ef2d4c32d 08-Mar-2010 Devang Patel <dpatel@apple.com> Revert r97947.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d8cc5d5256e79a74188dfef5a12d43127330dad3 08-Mar-2010 Devang Patel <dpatel@apple.com> Avoid using DIDescriptor.isNull().
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1ddcf35b68a4c326c548272134611ce54b1afd25 08-Mar-2010 Douglas Gregor <dgregor@apple.com> Revert r97917, which was causing Clang Debug self-host failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9467f0e3bd2b0fece0d50a6d92f996b4f3952096 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8c42ca937453bd216b68baff1f32b47430d5b374 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> _2_ gcc crashes, ah, ah, ah...

(Rolling back r97906.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f7399bf929f401d4e1aa40f4f7a2265e2cdedc39 07-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1eac3e7d1e5d0bce098f15d87a2c8741eba73662 02-Mar-2010 Devang Patel <dpatel@apple.com> Fix grammar.
Thanks Duncan!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6b506cbce0ad7ad217a58cd1d6740e23c36f67ec 02-Mar-2010 Devang Patel <dpatel@apple.com> Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
22fb4b2a5708c2987a04a823df98b6f9fda60d0c 17-Feb-2010 Devang Patel <dpatel@apple.com> Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f451cb870efcf9e0302d25ed05f4cac6bb494e42 10-Feb-2010 Dan Gohman <gohman@apple.com> Fix "the the" and similar typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8581e0147cd7622ecec96a47310fc1a211b77908 09-Feb-2010 Devang Patel <dpatel@apple.com> Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b4645643de240e5b3461b03a9c6950fefe1538ac 06-Feb-2010 Devang Patel <dpatel@apple.com> Set DW_AT_artificial only if argument is marked as artificial.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6cda22eae404e25944dc29c59e9fc239e8c1891c 06-Feb-2010 Devang Patel <dpatel@apple.com> Do not generate specification DIE for nested functions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c1dc8fff79eecc154eb6a62d652c5209d71c031b 03-Feb-2010 Devang Patel <dpatel@apple.com> Emit appropriate expression to find virtual base offset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4e0d19dfd9ab77f9974cb07320dfe4f7f5ffd7b9 03-Feb-2010 Devang Patel <dpatel@apple.com> Provide interface to identifiy artificial methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e3d6d220bddbbd7d48b0610edf43e080a0b7467c 02-Feb-2010 Devang Patel <dpatel@apple.com> Apparently gdb is not amused by empty lines in pubtypes section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31acb89c6545847435518f42825102aa30af9fd4 02-Feb-2010 Devang Patel <dpatel@apple.com> NULL terminate name in pubtypes sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1ee0cb9a558f2bb739db19426a5aab936e16bacd 30-Jan-2010 Devang Patel <dpatel@apple.com> Emit declaration DIE for the class static variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8cbb6123acbb57480cbf7bc714724106db50e2e5 29-Jan-2010 Devang Patel <dpatel@apple.com> Add size and location info in DW_TAG_class_type descriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5c8697488ad6d860c448b6e7bed80dec8c90b585 27-Jan-2010 Chris Lattner <sabre@nondot.org> remove a noop function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eec791afb127ed634ed5d1cdd2e6c47b3b70174c 27-Jan-2010 Chris Lattner <sabre@nondot.org> constify a bunch of dwarf stuff now that the registerinfo method
is constified.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3139fcf9edd046ba0b939dec72cd121e899d27d0 26-Jan-2010 Devang Patel <dpatel@apple.com> Use AssertingVH, just to be paranoid.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b554499871716fe647e226e52741b7fa69f7b7ba 26-Jan-2010 Devang Patel <dpatel@apple.com> Emit DW_AT_containing_type attribute for a class if containing type is known.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a6594fc7156c0afbe6fd5a6aab9b099aaf950c53 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .file and .file. This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3586e5eccf13d7129a44032a0dd553628cef3450 24-Jan-2010 Chris Lattner <sabre@nondot.org> fix some issues where we weren't emitting enough newlines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a801362e84e08ccaf6f4f22f22e61fe3732c3754 24-Jan-2010 Chris Lattner <sabre@nondot.org> when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4cf202ba066a1310d8968c8d069787254934e59b 23-Jan-2010 Chris Lattner <sabre@nondot.org> remove one form of EmitString, just use EmitBytes instead. We must
be careful to add a \0 at the end though, because EmitString didn't
do this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
faca5497a26672669934abbcf23894ce93408c10 23-Jan-2010 Chris Lattner <sabre@nondot.org> move "EOL" from asmprinter to dwarfprinter. It should eventually
be completely eliminated, but today is not that day.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
894d75aa013143c92890d0205791d0d70a453114 23-Jan-2010 Chris Lattner <sabre@nondot.org> move uleb printing from asmprinter to dwarfprinter, mcize,
cleanup and eliminate a bunch more uses of "EOL".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bb9078a6b26f38594cde6fd0dcd17eca25ef0319 22-Jan-2010 Chris Lattner <sabre@nondot.org> move sleb printing out of asmprinter into dwarf printer, make clients
handle the comment better, MCize the non-.sleb case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bc5201f8371f9041e79efcca3b158335da5c2604 22-Jan-2010 Devang Patel <dpatel@apple.com> Remove MetadataBase class because it is not adding significant value.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
066c9acca354e88c19ce740a7ff0e5910362aa7b 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename the dwarf class to DwarfPrinter. This matches the filename
and much more accurately describes what it is all about.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0ad9c911f5b7737ae199d703279984138553de9d 22-Jan-2010 Chris Lattner <sabre@nondot.org> inline away the trivial AsmPrinter::EOL() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
42aafd7e578707ca20dec456e8996849984272bb 20-Jan-2010 Devang Patel <dpatel@apple.com> If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
622b02601bafdf40d103d67951fae88f409c4641 19-Jan-2010 Devang Patel <dpatel@apple.com> MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f54b85237c666e6c473392b0e85aa9724cd0df79 19-Jan-2010 Devang Patel <dpatel@apple.com> Revert accident check-in from r93165.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1efd4fd56b3bc21b85ab921c6f77807afc02ecb5 17-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Switch some functions to take Twines, eliminate uses of StringExtras.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
45111d160cf0910030eeb6a949c69273502e5ad5 16-Jan-2010 Chris Lattner <sabre@nondot.org> move the mangler into libtarget from vmcore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
858431d0bc81ddab11363cc0eb2889dbfdc8362b 16-Jan-2010 Chris Lattner <sabre@nondot.org> Change DIEObjectLabel to take an MCSymbol instead of std::string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a27f6e4e202b335f38e3f37e052e9eca817e89fe 16-Jan-2010 Devang Patel <dpatel@apple.com> No need to use WeakVH here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085 16-Jan-2010 Devang Patel <dpatel@apple.com> Replace DebugLocTuple with DILocation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
167207a99b34dfc939489ca648a009b4aed13dfd 15-Jan-2010 Devang Patel <dpatel@apple.com> Add FIXME.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c9b16cc10887d270aa2a43a5a8c78e0ed3177dea 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not use AT_specification die for static variables. It confuses gdb.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f8b72ca6c80d7fb242d23d9b2aebb1937e6fff60 15-Jan-2010 Devang Patel <dpatel@apple.com> Do not emit multiple AT_container_type attributes.
We need to find a better way to emit this info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
23598502efa6a0c2daaa6c6efc519867c8445e8f 11-Jan-2010 Devang Patel <dpatel@apple.com> s/NextValueNo/NextMDValueNo while processing metadata.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3d594fd2992fa31aa74f974edaeddc4178206380 07-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Kill dead store.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee890edd69044b820d3ba3a3c45ad43288565eac 05-Jan-2010 Devang Patel <dpatel@apple.com> If a scope has only one instruction then first instruction is also the last instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
351ca3328452abed9de58723fbcbe42e7a08903e 05-Jan-2010 Devang Patel <dpatel@apple.com> Use StringRef.startswith().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ba1d8264e65b37146dbc26c71c748b5c7020ae88 05-Jan-2010 Devang Patel <dpatel@apple.com> Fix debug_inlined section entries for routines whose names are changed through __asm() extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
344130e8ab2e706f1392aff27bd8d679d979b65b 04-Jan-2010 Devang Patel <dpatel@apple.com> Fix begin and end markers for nested scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0b86a6f049e4d839bd770241571628d10c980887 28-Dec-2009 Chris Lattner <sabre@nondot.org> move these out of their own timer groups into the 'uncategorized' groups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f83adbc4c112439d54c7f91eb9524443e729a43e 24-Dec-2009 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6404e4e7958aa71ff210008b0e5d1cef8d138ff2 15-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for C++ namespaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ffe966c15b165bc3b0c2198dc2675057f3285ce1 14-Dec-2009 Devang Patel <dpatel@apple.com> Use DW_AT_specification to point to DIE describing function declaration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d037d7a497caa4d66008723de72fb554ca0ae630 11-Dec-2009 Devang Patel <dpatel@apple.com> Construct CompileUnits lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
edb4563ceae52e67f0b5cb2f084e3e8da6eba7d3 11-Dec-2009 Devang Patel <dpatel@apple.com> If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c366f83d89d93be557f136f1560d696b4acb6a46 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor code that finds context for a given die.
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
16ced733f370b64831e40128c9871709311b728d 10-Dec-2009 Devang Patel <dpatel@apple.com> Refactor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8a24114b169376901a0b9e804a5aa7eb4416a985 09-Dec-2009 Devang Patel <dpatel@apple.com> Reapply r90858, a cleanup patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0000fadb00cf971cd8ffb4ebe500777a84daf8f5 09-Dec-2009 Devang Patel <dpatel@apple.com> Revert 90858 90875 and 90805 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a3a60c6c49e457d825bddd1d300230c9d82cc17e 08-Dec-2009 Devang Patel <dpatel@apple.com> Cleanup.
There is no need to supply ModuleCU to addType() as a parameter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
018b66038c73bebc81f8a26b0462b85e7ccedba7 08-Dec-2009 Devang Patel <dpatel@apple.com> Do not try to push dead variable's debug info into namespace info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
4063f6bcc775bb0429dea2276694c4cdc2d4dca1 07-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for c++ style namespaces.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b3b9821cdeb58a568080c8d49b4f9432b1135905 05-Dec-2009 Dan Gohman <gohman@apple.com> Don't print a space before the : between the file name and line number.
And separate the directory and file name with a '/'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eecb9919a41dc11e805370d66cb2e43d8ef2649e 05-Dec-2009 Dan Gohman <gohman@apple.com> Print newlines after printing labels for debug info, so that the output
isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d55224c25e674c552df5b73958cfce3bc39e960f 05-Dec-2009 Devang Patel <dpatel@apple.com> In TAG_subrange_type, uppder bound is zero indexed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b3235d22e94c21ef00539d83db4d6d65bada48f5 04-Dec-2009 Devang Patel <dpatel@apple.com> Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5d11eb0ed54116b7f33507999617661fb2ae99df 03-Dec-2009 Devang Patel <dpatel@apple.com> Add support to emit debug info for virtual functions and virtual base classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1d5cc1db597a1a0f760b6d600819e4aef5aea26c 03-Dec-2009 Devang Patel <dpatel@apple.com> Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
69f57b1f41c818c5a89c40fd9a4bdca6a76ea934 02-Dec-2009 Devang Patel <dpatel@apple.com> Clarify that DIEString does not keep a copy of the string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7d0750a10fac5c00f00b465d8633d00fe76d9a2c 02-Dec-2009 Devang Patel <dpatel@apple.com> Reuse existing subprogram DIE.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c09ddc1c792b35a20b2aeaa708fd00a76638805c 01-Dec-2009 Devang Patel <dpatel@apple.com> Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
deea564e53fd1a582f2621ffb07de606f8464881 01-Dec-2009 Devang Patel <dpatel@apple.com> If pointer type has a name then do not ignore the name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1c3451fc99feb68dc401049568788547a0b7844d 25-Nov-2009 Benjamin Kramer <benny.kra@googlemail.com> Avoid some possibly unsafe uses of StringRef::data().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
65dbc909f5377947026a41f29420bb8112bdf611 25-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef (again) in DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e9a059714e3dccd6c870f19c3839f3352ac823ed 24-Nov-2009 Devang Patel <dpatel@apple.com> Use StringRef instead of std::string in DIEString.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f3a0376a56f7b299804c0b0a3e5d991312cedef1 24-Nov-2009 Devang Patel <dpatel@apple.com> Swith to pubtypes section before emitting pub types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
193f720f118f52eb05de172d936a440f335c1469 24-Nov-2009 Devang Patel <dpatel@apple.com> Emit pubtypes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
277207e6cbc217a626ef7462487906d5127bf7b0 23-Nov-2009 Dan Gohman <gohman@apple.com> Simplify this code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
05f6fa874e8d187483a836ccb4906bb3807bb305 23-Nov-2009 Devang Patel <dpatel@apple.com> Revert r89487.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a2f20b20a8dc7f053599840557405554a0848aec 22-Nov-2009 Jim Grosbach <grosbach@apple.com> Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
tell debug info which base register to use to reference a frame index on a
per-index basis. This is useful, for example, in the presence of dynamic
stack realignment when local variables are indexed via the stack pointer and
stack-based arguments via the frame pointer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7ab38dfccbc1473b76a227e73a04c08f7448dc45 22-Nov-2009 Jim Grosbach <grosbach@apple.com> 80-column cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
31ef40e9408ff9b16b9a1755a803f765eaa50b36 22-Nov-2009 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2c4ceb177be718a7a3697ea63aa254719fc3528f 21-Nov-2009 Devang Patel <dpatel@apple.com> Cosmetic changes, which were long overdue, in DwarfDebug.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9bff5cbae870170f76a30b69d5b4fd4c6dc6e800 21-Nov-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6f01d9c2f0a97b0dccde93a232c88f088877819f 21-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to use FoldingSet to unique DIEs.
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
017d121c5934a01922197b207c1cd981edeb2d25 20-Nov-2009 Devang Patel <dpatel@apple.com> Do not hold on to a map slot while new entries may be inserted into the map.
Use ValueMap, instead of std::map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1f37b5b3afe9eb8f4c05391b13af7b58b021ae36 20-Nov-2009 Devang Patel <dpatel@apple.com> There is no need to emit source location info for DW_TAG_pointer_type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
381afae68f3edd5cca65835003dacd73aca5da55 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5f9843f68fa2941a2c9930aa5cc920c38920f277 17-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f76a3d634f85783783d75bf4d8e736b178e4f5e6 16-Nov-2009 Devang Patel <dpatel@apple.com> Revert r88939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
270a97430d6ac718d0d327ebea659d78df5e97a8 16-Nov-2009 Devang Patel <dpatel@apple.com> Add VISIBILITY_HIDDEN marker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3fb6bd690a5919ec78777508e184e3538b6d51b0 13-Nov-2009 Devang Patel <dpatel@apple.com> Ignore nameless variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
70d75ca3107ce05bc30ad3511aa669b9fab5eb90 12-Nov-2009 Devang Patel <dpatel@apple.com> "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3380cc530702a0df90e6e287069bd65c28085337 11-Nov-2009 Devang Patel <dpatel@apple.com> If doesSupportDebugInformation() is false then do not try to emit dwarf debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c032679d3ef57246a472cd49e2c884d0345e9ff2 11-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
39ae3ff6d13ef71d0f0ecc8499b49935355508af 11-Nov-2009 Devang Patel <dpatel@apple.com> Do not assume first function scope seen represents current function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2f105c6e18b1cf0507be74dd03779b675d254a30 11-Nov-2009 Devang Patel <dpatel@apple.com> While creating DbgScopes, do not forget parent scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fb0ee43438d674213490afbeeaccba8052287f31 11-Nov-2009 Devang Patel <dpatel@apple.com> Ignore variable if scope info is not available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
53bb5c95afe4ff2627cac513221af2e4e7c5d2e3 11-Nov-2009 Devang Patel <dpatel@apple.com> Implement support to debug inlined functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
84c73e9b8234287c4521e6d7e27c15e77843489e 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not bother to emit debug info for nameless global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
465c3bed165dc76452606ea10a34ae2ef6033e8a 06-Nov-2009 Devang Patel <dpatel@apple.com> Do not try to emit debug info entry for dead global variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
61ecbd196c0128abb8c588aebc456ed96cdf1d63 05-Nov-2009 Devang Patel <dpatel@apple.com> While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
This improves bitfield support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
33db5082836bfe6257f9a36e16aecb062076837d 04-Nov-2009 Devang Patel <dpatel@apple.com> Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c416d3b25df0a2bc7fb431914abe55260d330e48 04-Nov-2009 Devang Patel <dpatel@apple.com> Array element size does not match array size but array is not a bitfield.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1b845976d0662b64bc06a52824ef9a5540486a1e 03-Nov-2009 Devang Patel <dpatel@apple.com> Ignore unnamed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
36d52bf4df4f5c86f2aad1131195b0f47e481836 03-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Fix a funky "declared with greater visibility than the type of its field"
warning from gcc by removing VISIBILITY_HIDDEN attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
bdf45cbe1526e33c17a17acd7467cb65d32b6a4f 27-Oct-2009 Devang Patel <dpatel@apple.com> Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.
Use this opportunity to use ValueMap instead of DenseMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
808b82664f146f8ddda0582ffd755a484cbac609 16-Oct-2009 Devang Patel <dpatel@apple.com> Do not emit name entry for a pointer type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
149aa7cce368a879e3ad20b2a6ec777e9441cdab 16-Oct-2009 Devang Patel <dpatel@apple.com> If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c90aefe95ec5fd028782788620ab7d6fd73593f3 14-Oct-2009 Devang Patel <dpatel@apple.com> Add support to record DbgScope as inlined scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1619dc3b9ee2573c481591764c2d26d5ff16b483 14-Oct-2009 Devang Patel <dpatel@apple.com> s/DebugLoc.CompileUnit/DebugLoc.Scope/g
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6e4bdfc229cbbe5ba549e45f55bda4bb989b159d 13-Oct-2009 Daniel Dunbar <daniel@zuster.org> Fix a -Asserts warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6ef75173142f782b281909125e846f3b6828de98 13-Oct-2009 Devang Patel <dpatel@apple.com> Find enclosing subprogram info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ac1ceb3dd33cb79ecb0dbd64b6abafa7ce067c5f 10-Oct-2009 Devang Patel <dpatel@apple.com> Extract scope information from the variable itself, instead of relying on 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c525472828823b47c8aa90b901f61d5236de890a 09-Oct-2009 Devang Patel <dpatel@apple.com> Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
eda312193dfc56cb9a5d1d3e7cf3c89dce07124a 08-Oct-2009 Devang Patel <dpatel@apple.com> Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
60b35bd8ecb2c3358b80d8441873cfffa0d27851 06-Oct-2009 Devang Patel <dpatel@apple.com> Add support to handle debug info attached to an instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8a4087ddc79945383d01cf9846d906215dfab3c7 06-Oct-2009 Devang Patel <dpatel@apple.com> Fix cut-n-pasto.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
89703cf838c5d875875faf58b746a78fc33c2499 06-Oct-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0d20ac8d175575fbad1ed410c9fe610cf7255af3 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to set begin and end labels for DbgScopes.
This will be used by processDebugLoc().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e717faa467538a6e86c3f651382af3ec2759d43a 06-Oct-2009 Devang Patel <dpatel@apple.com> Add utility routine to collect variable debug info. This is not yet used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6f3dc920b013df98be2d56c2f2628041477d75ee 06-Oct-2009 Devang Patel <dpatel@apple.com> Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ffd9c3dd4a0f9b5c341b27862540c1ed165b22a7 06-Oct-2009 Devang Patel <dpatel@apple.com> If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
fd07cf56cdaf730036c1d59bf0f9372dae8900df 06-Oct-2009 Devang Patel <dpatel@apple.com> Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b71a16d10dd47f70947386064783eeac2abe29b2 06-Oct-2009 Devang Patel <dpatel@apple.com> Set address while constructing DIE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f84548db63ca5ceea0381a7bfc9e924cddc1cc3f 05-Oct-2009 Devang Patel <dpatel@apple.com> Gracefully handle various scopes while recording source line info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
af9e84701b42856051d87c5641652b796936df11 01-Oct-2009 Devang Patel <dpatel@apple.com> Add support to extract lexical scope information from DebugLoc attached with an machine instruction.
This is not yet enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d38dd11e120d1f1b1e73c6050458430a2e7d75f3 01-Oct-2009 Devang Patel <dpatel@apple.com> Record first and last instruction of a scope in DbgScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3d910835fc5da1ccddefd7cc5978ffe8c903cbf0 01-Oct-2009 Devang Patel <dpatel@apple.com> Use MDNode * directly as an RecordSourceLine() argument.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
3e4c9bdb67db9b6d65b17d474e3268b520a93514 30-Sep-2009 Mike Stump <mrs@apple.com> Add a way for a frontend to generate more complex dwarf location
information. This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref. The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes. I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api. Is that a layering violation?

With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme. I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper. Before the old code can be yanked however, similar code in
clang would have to be removed.

Next up, more testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5ccdd10b1a0ee1ce35b6e5a18eb0fcfd6f5131d3 29-Sep-2009 Devang Patel <dpatel@apple.com> Remove std::string uses from DebugInfo interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7e3720da38834a192da2257fc4cb0829db7c1b40 25-Sep-2009 Mike Stump <mrs@apple.com> Delete space after function name, before (, reflow a comment and
delete a few blank lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
ee4b8a7781b3398be82851cec9f098ebda7b5c2f 25-Sep-2009 Mike Stump <mrs@apple.com> Fix spacing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d75e9aad24723cf816d3b3cf658bbd23da144f90 23-Sep-2009 Mike Stump <mrs@apple.com> This is overly constraining with respect to clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
00564995496df04c76fc0e4e57b77372d0fe86d5 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f612ff6cfbf3a59842732f0280807c0714ab9025 19-Sep-2009 Daniel Dunbar <daniel@zuster.org> Strip trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
334fd1f259b3e8aaf83cf0d40f74af5b209770e6 16-Sep-2009 Chris Lattner <sabre@nondot.org> eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining
it into all of its call sites and simplifying them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c6f9d62eae02e11fbfe772e8e2c2e4d5ee5e4b13 11-Sep-2009 Caroline Tice <ctice@apple.com> Don't generate Dwarf line table entries for source line 0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c5ea263a23f4f15587e35c9cb07cf72a9fba7613 10-Sep-2009 Chris Lattner <sabre@nondot.org> remove DebugLoc from MCInst and eliminate "Comment printing" from
the MCInst path of the asmprinter. Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter. This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.

This also fixes an xcore strangeness where it inserted two tabs
before every instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
905cf5e0bd4feaec00c45f44893afbbd1f02a149 05-Sep-2009 Devang Patel <dpatel@apple.com> Ignore malformed global variable debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
82dfc0cd8c3c2bf780a13cc35c1a8df7ad137477 01-Sep-2009 Devang Patel <dpatel@apple.com> Subprogram is a scope. Derive DISubprogram from DIScope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
5e005d814f13f1796cf9e32c7525a5241fface1a 01-Sep-2009 Devang Patel <dpatel@apple.com> Rename DIBlock as DILexicalBlock.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
dc8f6049d11ee73835c7b7e9b7c6d0b9e6a2c9b1 31-Aug-2009 Caroline Tice <ctice@apple.com> Add flag to mark structs for Apple Block "byref" variables; also add code to
modify the type and location debug information for these variables to match the
programmer's expectations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6ceea33c5e5c00069453e48740aaef5fe1c0953b 31-Aug-2009 Devang Patel <dpatel@apple.com> Simplify isDerivedType() and other predicate interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
e4b275610a7a05b7ee4c0378a906a6330e4c4ab0 29-Aug-2009 Devang Patel <dpatel@apple.com> Reapply 79977.
Use MDNodes to encode debug info in llvm IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a1ba269a27ca9d776e6de77e8177fa8fa844bd5e 28-Aug-2009 Devang Patel <dpatel@apple.com> Closure is a very generic name. Use AppleBlock instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
824598883513789516a919651f4b35e7a638ec5c 26-Aug-2009 Devang Patel <dpatel@apple.com> Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8af76bdb7450b097efa17f7c192882111a9e8f10 26-Aug-2009 Devang Patel <dpatel@apple.com> Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
Patch by Caroline Tice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
2a610c7387664bc557a35ce3bb4c0d4df56e4755 25-Aug-2009 Devang Patel <dpatel@apple.com> Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
23132b188ba651ba172380cd082cc286df73d440 24-Aug-2009 Chris Lattner <sabre@nondot.org> prune the #includes in raw_ostream.h by moving a
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
74382b7c699120fbec5cb5603c9cf4212eb37f06 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c281de1d8485b5ec64f4b330b541f91d1ee86c37 23-Aug-2009 Chris Lattner <sabre@nondot.org> remove some random indentation stuff, yay for efficiency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
33adcfb4d217f5f23d9bde8ba02b8e48f9605fc5 22-Aug-2009 Chris Lattner <sabre@nondot.org> rename TAI -> MAI, being careful not to make MAILJMP instructions :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
af76e592c7f9deff0e55c13dbb4a34f07f1c7f64 22-Aug-2009 Chris Lattner <sabre@nondot.org> Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
24f20e083280d979e8fa1bc88959ae9e8339ee99 22-Aug-2009 Devang Patel <dpatel@apple.com> Record variable debug info at ISel time directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b2c66fc322f62779f08e83e5253f383ae219bf78 19-Aug-2009 David Greene <greened@obbligato.org> Add missing includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6c2f9e14fdf14d8c1c687c6bd9918183fa7f8a7f 19-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::SwitchToSection and just have clients
talk to the MCStreamer directly instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6325a5305ea9665bb8291037df4849baabd13b81 14-Aug-2009 Devang Patel <dpatel@apple.com> Do not completely skip subrange info for a zero sized array.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
93b6db3de934a3cfca5586df25184fef4a54c500 09-Aug-2009 Chris Lattner <sabre@nondot.org> sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
290c2f56ce551ebcf4480ac2944986fe4bb339e9 04-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it private,
eliminate IsInTextSection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
18a4c16726db2b8874c7b84d04650dda80746074 02-Aug-2009 Chris Lattner <sabre@nondot.org> move dwarf debug info section selection stuff from TAI to
TLOF, unifying all the dwarf targets at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
a87dea4f8c546ca748f1777a8d1cabcc06515d91 31-Jul-2009 Chris Lattner <sabre@nondot.org> switch off of 'Section' onto MCSection. We're not properly using
MCSection subclasses yet, but this is a step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
78ab9e2c4907428f5f0d8aa594258ac188dd2125 30-Jul-2009 Devang Patel <dpatel@apple.com> Start using DebugInfoFinder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f0144127b98425d214e59e4a1a4b342b78e3642b 28-Jul-2009 Chris Lattner <sabre@nondot.org> Rip all of the global variable lowering logic out of TargetAsmInfo. Since
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.

Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.

This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
CStringSection_. Factor the code better.
5. fixes some bugs in string lowering on ELF targets.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
460f656475738d1a95a6be95346908ce1597df25 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::getName{Start,End}, the last of the old Name APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
53cb17dfbcf314e434e2826c8076a013f8f799b3 16-Jul-2009 Devang Patel <dpatel@apple.com> Skip special LLVM prefix '1' while emitting linknage name.
This prefix is used by LLVM to inform the asm printer to not emit usual global symbol prefix before the symbol name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1cda87c3a07dc097f27e365f7f3ff4bcb31f5699 14-Jul-2009 Chris Lattner <sabre@nondot.org> Change the internal interface to makeNameProper to take a bool that
indicates whether the label is private or not, instead of taking
prefix stuff. One effect of this is that symbols will be generated
with *just* the private prefix, instead of both the private prefix
*and* the user-label-prefix, but this doesn't matter as long as it
is consistent. For example we'll now get "Lfoo" instead of "L_foo".
These are just assembler temporary labels anyway, so they never even
make it into the .o file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1a8d2d2d4f9c019e3ace0053ce3f33449cf85c44 14-Jul-2009 Devang Patel <dpatel@apple.com> Do not use Mangler to remove '1' from linkage name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
d84b41615e8a9844d0cc26527ec9ef316fdddb84 14-Jul-2009 Devang Patel <dpatel@apple.com> Use assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
87370b8301fa39ee54bdcaae0618fd565e808466 13-Jul-2009 Devang Patel <dpatel@apple.com> Use AsmPrinter's Mangler to remove leading '1' from linkage names.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
43da8fbe524f4f1921209e6280678173393fb461 13-Jul-2009 Devang Patel <dpatel@apple.com> revert rev. 75503 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
7597a6252b29f76c7e65351ef85918d1769713bb 13-Jul-2009 Devang Patel <dpatel@apple.com> Use Mangler to remove leading '1' from linkage names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
261cc194d7bf391913ea75617f19d7ad4880d7d2 07-Jul-2009 Devang Patel <dpatel@apple.com> Accidently dropped this while removing dead code in previous commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0a4afb6caf08d38130bb867be2c455ffdc54f3ca 07-Jul-2009 Devang Patel <dpatel@apple.com> Remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
93a65b2fe1cef7eac1473b6f47ddbfdc4a362616 30-Jun-2009 Devang Patel <dpatel@apple.com> Struct types are described using field types only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1dbc771a837818ee077a7c287ef8cdd254b13d3c 29-Jun-2009 Devang Patel <dpatel@apple.com> s/MainCU/ModuleCU/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
70f44267501412662ca8fb716812df0f3d48191d 29-Jun-2009 Devang Patel <dpatel@apple.com> Multiple DW_TAG_compile_unit is not used, afaict, on any target.

Update dwarf writer to only emit one DW_TAG_compile_unit per .o file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
13e16b65ddd679d6edb5f182d683701fdea37b85 26-Jun-2009 Devang Patel <dpatel@apple.com> Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms
and llvm.dbg.global_variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
208622db8a3f1d796bfaf61f8d4f41b6613a71bd 26-Jun-2009 Devang Patel <dpatel@apple.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
04c05f7630f33e092ae268a19de1b1a76d31785f 25-Jun-2009 Owen Anderson <resistor@mac.com> Down with statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
b839c3f577e03467bce8904eb2a02b124ec19ec8 19-Jun-2009 Chris Lattner <sabre@nondot.org> simplify macro debug info directive handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c2230821a6ad04ab2c1c1c71212d99b56b783fa8 16-Jun-2009 Devang Patel <dpatel@apple.com> Use MainCU if it is available.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
11a407f43fc0fb21df3156350175eaeeffaf7085 15-Jun-2009 Devang Patel <dpatel@apple.com> Gracefully handle imbalanced inline function begin and end markers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
daf9e02893e7e17ca2267ffd5e994f824adbb624 13-Jun-2009 Devang Patel <dpatel@apple.com> llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics.
Apply defensive patch to preserve at least one lexical scope till the end of function.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
9217f793bf5d1fa0900f87ba96348da093409106 12-Jun-2009 Devang Patel <dpatel@apple.com> Clear AbstractInstanceRootMap at the end of the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
c965ee223c6077250525048106726e12b59072ac 05-Jun-2009 Dan Gohman <gohman@apple.com> Remove some unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
8fff19ba556b8a61545fa52fdac9f04fbbe74e11 01-Jun-2009 Bill Wendling <isanbard@gmail.com> Accidental commit. This isn't ready for prime time just yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
51b16f473759c1546acbf308a5d3f3e7bf3ea23c 30-May-2009 Bill Wendling <isanbard@gmail.com> Untabification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
39dd6962821ee48c334ac1240ecb231c18c17e40 21-May-2009 Bill Wendling <isanbard@gmail.com> Minor code cleanup. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1795616930543c8156b2414482b2f811c87bb375 21-May-2009 Bill Wendling <isanbard@gmail.com> Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
995f80ad5fa835b51f0db4566b7edc3d5b126625 21-May-2009 Bill Wendling <isanbard@gmail.com> Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
829e67b5ec955760733e67dc6d41a09cd73a084f 21-May-2009 Bill Wendling <isanbard@gmail.com> Add comment for emit section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
94d04b8f808bc3ea9de0120c3a7da593771a438a 21-May-2009 Bill Wendling <isanbard@gmail.com> Move 'Emit' methods down to their own place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
f0fb987903d0885e7da456e3d6f4a094efaccdc2 21-May-2009 Bill Wendling <isanbard@gmail.com> Revert r72192. It was causing a build failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
63ad10c004a559dce2dd3179fb851ad5fa6fbbe9 21-May-2009 Bill Wendling <isanbard@gmail.com> Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with
the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
1180c7899ca101bdb96cf36a0101bf161e510fcb 19-May-2009 Bill Wendling <isanbard@gmail.com> Don't set the "location" information for inlined functions' variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
cde5d63d909c2c3b9c2a30cef107f77a7a556deb 19-May-2009 Bill Wendling <isanbard@gmail.com> Small code cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
6679ee4e805f606264ed4e03449b957c9212cfb6 19-May-2009 Bill Wendling <isanbard@gmail.com> RecordVariable is called each time a DECLARE node is encountered. For an inlined
function, this could be many, many times. We don't want to re-add variables to
that DIE for each time. We just want to add them once. Check to make sure that
we haven't added them already.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
0310d768a1e267935729fdeee0d677ebf7095cb3 15-May-2009 Bill Wendling <isanbard@gmail.com> Split out the DwarfDebug module from the DwarfWriter module.

Again, no intendtional functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp