- Oct 29, 2013
-
-
Manman Ren authored
This commit ensures DIEs are constructed within a compile unit and immediately added to their parents. Reviewed off-list by Eric. llvm-svn: 193568
-
Manman Ren authored
More patches will be submitted to convert "new DIE(" to use createAddAndDIE in DwarfCompileUnit.cpp. This will simplify implementation of addDIEEntry where we have to decide between ref4 and ref_addr, because DIEs that can be shared across CU will be added to a CU already. Reviewed off-list by Eric. llvm-svn: 193567
-
Manman Ren authored
It wraps around "new DIE(" and handles the bookkeeping part of the newly-created DIE. It adds the DIE to its parent, and calls insertDIE if necessary. It makes sure that bookkeeping is done at the earliest time and we should not see parentless DIEs if all constructions of DIEs go through this helper function. Later on, we can use an allocator for DIE allocation, and will only need to change createAndAddDIE instead of modifying all the "new DIE(". Reviewed off-list by Eric. llvm-svn: 193566
-
- Oct 25, 2013
-
-
David Blaikie authored
llvm-svn: 193432
-
David Blaikie authored
llvm-svn: 193427
-
David Blaikie authored
MCStreamer: Reimplement the virtual EmitRawText as a protected member, EmitRawTextImpl, to avoid string literal ambiguities Also improve the implementation of EmitRawText(Twine) so it doesn't bother using the SmallString buffer if the Twine is a simple StringRef anyway. llvm-svn: 193378
-
David Blaikie authored
The default case at the end of the switch handles this just fine. llvm-svn: 193374
-
- Oct 24, 2013
-
-
Eric Christopher authored
llvm-svn: 193373
-
Eric Christopher authored
llvm-svn: 193372
-
Eric Christopher authored
llvm-svn: 193371
-
David Blaikie authored
llvm-svn: 193363
-
David Blaikie authored
llvm-svn: 193361
-
David Blaikie authored
llvm-svn: 193360
-
David Blaikie authored
This may've been used at some point but the 'print' member function grew an Indent parameter that entirely shadows this parameter. llvm-svn: 193358
-
Manman Ren authored
Since we never insert DIE for DITemplateTypeParameter to a map, there is no need to call getDIE in getOrCreateTemplateTypeParameterDIE. It is also renamed to constructTemplateTypeParameterDIE to match with other construct functions in CompileUnit. Same applies to getOrCreateTemplateValueParameterDIE. llvm-svn: 193287
-
Manman Ren authored
Rename createMemberDIE to constructMemberDIE to match other construct functions in CompileUnit. llvm-svn: 193286
-
Manman Ren authored
Remove the unneeded return values from createMemberDIE, constructEnumTypeDIE, getOrCreateTemplateTypeParameterDIE, and getOrCreateTemplateValueParameterDIE. llvm-svn: 193285
-
Manman Ren authored
Unifying the argument ordering of private construct functions in CompileUnit to follow constructTypeDIE(DIE &, DIBasicType), constructTypeDIE(DIE &, DIDerivedType), constructTypeDIE(DIE &, DICompositeType), constructSubrangeDIE and constructArrayTypeDIE. llvm-svn: 193284
-
Manman Ren authored
llvm-svn: 193276
-
- Oct 23, 2013
-
-
Rafael Espindola authored
llvm-svn: 193272
-
- Oct 22, 2013
-
-
Manman Ren authored
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. llvm-svn: 193196
-
David Blaikie authored
Since (as of r190716) Clang no longer emits debug info for C++ friend declarations (and it seems GCC never has/does, which was the motivation for the Clang change), there's no actual reachable case for implementing the part of DWARF 4, Section 7.27 part 5 that pertains to friends. Leave an assert here so that if/when we do have a client producing friends and using type units, we can fill in the gap and add appropriate (unit and feature) tests. llvm-svn: 193193
-
David Blaikie authored
Includes a test case/FIXME demonstrating a bug/limitation in pointer to member hashing. To be honest I'm not sure why we don't just always use summary hashing for referenced types... but perhaps I'm missing something. llvm-svn: 193175
-
Eric Christopher authored
llvm-svn: 193135
-
David Blaikie authored
DWARF Type Hashing: Include reference and rvalue reference type in the declarable summary hashing path More support for 7.25 Part 5. llvm-svn: 193129
-
David Blaikie authored
There are several other tag types that need similar handling but to ensure test coverage they'll be coming incrementally. llvm-svn: 193126
-
- Oct 21, 2013
-
-
Matt Arsenault authored
llvm-svn: 193111
-
Reid Kleckner authored
llvm-svn: 193106
-
David Blaikie authored
This uses a map, keeping the type DIE numbering separate from the DIEs themselves - alternatively we could do things the way GCC does if we want to add an integer to the DIE type to record the numbering there. llvm-svn: 193105
-
Eric Christopher authored
llvm-svn: 193095
-
David Blaikie authored
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. llvm-svn: 193091
-
David Blaikie authored
Found while adding type safety to the various DWARF enumerations (form, attribute, tag, etc) that caused Clang to warn on an incompletely covered switch. Converting the comment to a default/unreachable uncovered this case of an unsupported form encoding. Seems we were skipping fission strings entirely. llvm-svn: 193089
-
- Oct 20, 2013
-
-
Peter Collingbourne authored
This ensures that the prefix data is treated as part of the function for the purpose of debug info. This provides a better debugging experience, among other things by allowing a debug info client to correctly look up a function in debug info given a function pointer. llvm-svn: 193042
-
- Oct 19, 2013
-
-
Benjamin Kramer authored
llvm-svn: 193038
-
Eric Christopher authored
llvm-svn: 193024
-
Eric Christopher authored
llvm-svn: 193023
-
- Oct 18, 2013
-
-
Manman Ren authored
With this commit, all DIEs created in CompileUnit will be added to parents inside the same function. Also make getOrCreateTemplateType|Value functions private. No functionality change. llvm-svn: 193002
-
Manman Ren authored
llvm-svn: 193001
-
Eric Christopher authored
error messages should not be able to occur at the same time. llvm-svn: 192985
-
Eric Christopher authored
requires a more in depth change to the IR structure. llvm-svn: 192938
-