- Oct 21, 2013
-
-
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
-
Manman Ren authored
llvm-svn: 192215
-
Rafael Espindola authored
This patch fixes an old FIXME by creating a MCTargetStreamer interface and moving the target specific functions for ARM, Mips and PPC to it. The ARM streamer is still declared in a common place because it is used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are completely hidden in the corresponding Target directories. I will send an email to llvmdev with instructions on how to use this. llvm-svn: 192181
-
- Oct 07, 2013
-
-
Richard Mitton authored
llvm-svn: 192118
-
- Oct 06, 2013
-
-
Rafael Espindola authored
This will be used to extend constructor aliases in clang. llvm-svn: 192066
-
- Oct 05, 2013
-
-
Rafael Espindola authored
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. llvm-svn: 192035
-
Manman Ren authored
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. llvm-svn: 192018
-
Eric Christopher authored
llvm-svn: 192017
-
Eric Christopher authored
llvm-svn: 192016
-
Eric Christopher authored
llvm-svn: 192014
-
Eric Christopher authored
llvm-svn: 192009
-
David Blaikie authored
llvm-svn: 192005
-