- 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
-
David Blaikie authored
Makes the uses more terse and requires that they use a semicolon at the end that helps editors indent proceeding lines correctly. llvm-svn: 192925
-
David Blaikie authored
llvm-svn: 192924
-
- Oct 17, 2013
-
-
Eric Christopher authored
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. llvm-svn: 192865
-
Eric Christopher authored
if they're a declaration, otherwise they're owned by the compile unit. llvm-svn: 192861
-
David Blaikie authored
llvm-svn: 192856
-
David Blaikie authored
This allows us to produce the same hash as GCC for at least some simple examples. llvm-svn: 192855
-
- Oct 16, 2013
-
-
David Blaikie authored
llvm-svn: 192840
-
David Blaikie authored
llvm-svn: 192836
-
Rafael Espindola authored
llvm-svn: 192764
-
Eric Christopher authored
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. llvm-svn: 192761
-
David Blaikie authored
llvm-svn: 192755
-
Eric Christopher authored
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. llvm-svn: 192749
-
- Oct 15, 2013
-
-
Adrian Prantl authored
llvm-svn: 192731
-
- Oct 14, 2013
-
-
Manman Ren authored
Clean up creation of static member DIEs. We can create static member DIEs from two places, so we call getOrCreateStaticMemberDIE from the two places. getOrCreateStaticMemberDIE will get or create the context DIE first, then it will check if the DIE already exists, if not, we create the static member DIE and add it to the context. Creation of static member DIEs are handled in a similar way as subprogram DIEs. llvm-svn: 192618
-
- Oct 12, 2013
-
-
Manman Ren authored
The form must be a reference form in addDIEEntry. Which reference form to use will be decided by the callee. No functionality change. llvm-svn: 192517
-
- Oct 11, 2013
-
-
Justin Holewinski authored
Make AsmPrinter::emitImplicitDef a virtual method so targets can emit custom comments for implicit defs For NVPTX, this fixes a crash where the emitImplicitDef implementation was expecting physical registers, while NVPTX uses virtual registers (with a couple of exceptions). Now, the implicit def comment will be emitted as a true PTX register name. Other targets can use this to customize the output of implicit def comments. Fixes PR17519 llvm-svn: 192444
-
- Oct 10, 2013
-
-
Manman Ren authored
DIScopeRef. A paired commit at clang is required due to changes to DIBuilder. llvm-svn: 192378
-
- Oct 09, 2013
-
-
Manman Ren authored
template_value are updated to use DIRef. A paired commit at clang is required due to changes to DIBuilder. llvm-svn: 192320
-
- Oct 08, 2013
-
-
Manman Ren authored
llvm-svn: 192218
-
Manman Ren authored
llvm-svn: 192216
-