cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
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/IR/DebugInfo.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/IR/DebugInfo.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/IR/DebugInfo.cpp
|
51fce2c886e4ca33272975cc80bc1cc5abfcdffd |
|
09-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
Merging r196172: ------------------------------------------------------------------------ r196172 | mren | 2013-12-02 16:12:14 -0800 (Mon, 02 Dec 2013) | 4 lines Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule. Suggested by Eric. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
27457ac42f7a9267ab7e0190424a95fecf0ea201 |
|
09-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
Merging r196158: ------------------------------------------------------------------------ r196158 | mren | 2013-12-02 13:29:56 -0800 (Mon, 02 Dec 2013) | 12 lines Debug Info: drop debug info via upgrading path if version number does not match. Add a helper function getDebugInfoVersionFromModule to return the debug info version number for a module. "Verifier/module-flags-1.ll" checks for verification errors. It will seg fault when calling getDebugInfoVersionFromModule because of the incorrect format for module flags in the testing case. We make getModuleFlagsMetadata more robust by checking for error conditions. PR17982 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
c877b10446669bf107c19cab78b920ce9cffb989 |
|
09-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
Merging r195505: ------------------------------------------------------------------------ r195505 | mren | 2013-11-22 14:06:31 -0800 (Fri, 22 Nov 2013) | 8 lines Debug Info: move StripDebugInfo from StripSymbols.cpp to DebugInfo.cpp. We can share the implementation between StripSymbols and dropping debug info for metadata versions that do not match. Also update the comments to match the implementation. A follow-on patch will drop the "Debug Info Version" module flag in StripDebugInfo. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6950be28511caf355abdf405404b5f37cc136bc5 |
|
17-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: fix typo in function name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
2b31b8227fb5507c26a8c4724574fc87fb90f482 |
|
17-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: enable public functions of Finder to update the type map. We used to depend on running processModule before the other public functions such as processDeclare, processValue and processLocation. We are now relaxing the constraint by adding a module argument to the three functions and letting the three functions to initialize the type map. This will be used in a follow-on patch that collects nodes reachable from a Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
5f7259180c59b2830bf206b44439be32ffa9161e |
|
08-Nov-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove ^M from the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
c3b6e80d291b8ac53c67a4d292c1e60469d78447 |
|
17-Oct-2013 |
Michael Kuperstein <michael.m.kuperstein@intel.com> |
Changing DebugInfoFinder to iterate over all the compile units. Solves http://llvm.org/bugs/show_bug.cgi?id=17507 Committed on behalf of alon.mishne@intel.com git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
b4d9c11f6c7e0a38e750f946d5cea3ffa5ae8f61 |
|
09-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: In DIBuilder, the context and type fields of template_type and template_value are updated to use DIRef. A paired commit at clang is required due to changes to DIBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.cpp
|
e5388399c795edd3687b08f33446a253d65247d6 |
|
30-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: constify and rename from generateRef to getRef. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
dc293b3fe9e3cb7eb7ce7035b32218251a06fbfe |
|
11-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: move class definition of DIRef. Definition of DIRef used to require the full definition of DIType because of usage of DIType::isType in DIRef::resolve. We now use DIDescriptor::isType instead to remove the requirement and move definition of DIRef before DIType. With this, we can move the definition of DIType::getContext to the header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.cpp
|
626a4b785b8ef14bbd4f763a01396df3c6a758f7 |
|
09-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Update isScope to make sure DIType is a scope and TAG_file_type is also a scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
0e85f6e391990cc20be98263640b843edfa32bef |
|
07-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Use identifier to reference DIType in containing type field of a DISubprogram. Verifier is updated accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e42279cda481b48138d2119f4a4bbce7077f0a72 |
|
06-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Use identifier to reference DIType in containing type field of a DICompositeType. Verifier is updated accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
5930eabe0fdc48c02c5af500aa5b1c5b732848b1 |
|
06-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: Move a helper function getTypeIdentifier from DIBuilder to be part of DIType. Implement DIType::generateRef to return a type reference. This function will be used in setContaintingType and in DIBuilder to generete the type reference. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
b5011bd2695cf6d4bdb2fa295abc5db37518d1cc |
|
28-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
Period. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
02ae44f31c83117e9f08f5c40d4124da03e64234 |
|
28-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
r189495: Pull out some debug logic into a function for legibility Code review feedback from Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
980879e618d32f7516aa3bbf1ee084b06e52d0ef |
|
28-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
PR16995: DebugInfo: Don't overwrite existing member lists when adding template arguments With the added debug assertions this fix is covered by existing Clang tests. (& found some other issues, also fixed) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6e3cd0ebe22a7cc959ed301de7f2f09d7a9307c8 |
|
27-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: add an identifier field to DICompositeType. DICompositeType will have an identifier field at position 14. For now, the field is set to null in DIBuilder. For DICompositeTypes where the template argument field (the 13th field) was optional, modify DIBuilder to make sure the template argument field is set. Now DICompositeType has 15 fields. Update DIBuilder to use NULL instead of "i32 0" for null value of a MDNode. Update verifier to check that DICompositeType has 15 fields and the last field is null or a MDString. Update testing cases to include an extra field for DICompositeType. The identifier field will be used by type uniquing so a front end can genearte a DICompositeType with a unique identifer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6b6a2ac6ca5aada4ff3d6882e0570338baed5a8b |
|
24-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
DebugInfoFinder: handle imported entities of a CU. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
003f5519129e5413768b3d6a309f36389f425ced |
|
23-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
DebugInfoFinder: handle template params of a DISubprogram. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
692062f18023979c0f8d5a155c14cf1f1616a2b0 |
|
16-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Allow the addition of other (such as static data) members to a record type after construction Plus a type cleanup & minor fix to enumerate members of declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
8328b6932ffeb41af7fc1260a48d36cf2a427f6f |
|
09-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: provide the ability to add members to a class after it has been constructed This is necessary to allow Clang to only emit implicit members when there is code generated for them, rather than whenever they are ODR used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
dc1363f5af47542a602c80e726749bc06d8ef3f8 |
|
08-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Make sure that if we're going to attempt to add a type to a DIE that the type exists. Fix up cases where we weren't checking for optional types and add an assert to addType to make sure we catch this in the future. Fix up a testcase that was using the tag for DW_TAG_array_type when it meant DW_TAG_enumeration_type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
f40d578d7e4f29fcc72fc39882014e03cd3f5bd0 |
|
06-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder|Verifier: handle DbgLoc attached to instructions. Also remove checking of llvm.dbg.sp since it is not used in generating dwarf. Current state of Finder: DebugInfoFinder tries to list all debug info MDNodes used in a module. To list debug info MDNodes used by an instruction, DebugInfoFinder provides processDeclare, processValue and processLocation to handle DbgDeclareInst, DbgValueInst and DbgLoc attached to instructions. processModule will go through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes used by the CUs. TODO: 1> Finder has a list of CUs, SPs, Types, Scopes and global variables. We need to add a list of variables that are used by DbgDeclareInst and DbgValueInst. 2> MDString fields should be null or isa<MDString> and MDNode fields should be null or isa<MDNode>. We currently use empty string or int 0 to represent null. 3> Go though Verify functions and make sure that they check field types. 4> Clean up existing testing cases to remove llvm.dbg.sp and make sure each testing case has a llvm.dbg.cu. Re-apply r187609 with fix to pass ocaml binding. vmcore.ml generates a debug location with scope being metadata !{}, in verifier we treat this as a null scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
be9f508aecfd255f47f8ea3cfe4fadbf1382ba10 |
|
02-Aug-2013 |
Eric Christopher <echristo@gmail.com> |
Temporarily revert "Debug Info Finder|Verifier: handle DbgLoc attached to instructions." in an attempt to bring back some bots. This reverts commit r187609. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
f589eef8645219dbcd1a4eec85ffb34a067534a6 |
|
01-Aug-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder|Verifier: handle DbgLoc attached to instructions. Also remove checking of llvm.dbg.sp since it is not used in generating dwarf. Current state of Finder: DebugInfoFinder tries to list all debug info MDNodes used in a module. To list debug info MDNodes used by an instruction, DebugInfoFinder provides processDeclare, processValue and processLocation to handle DbgDeclareInst, DbgValueInst and DbgLoc attached to instructions. processModule will go through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes used by the CUs. TODO: 1> Finder has a list of CUs, SPs, Types, Scopes and global variables. We need to add a list of variables that are used by DbgDeclareInst and DbgValueInst. 2> MDString fields should be null or isa<MDString> and MDNode fields should be null or isa<MDNode>. We currently use empty string or int 0 to represent null. 3> Go though Verify functions and make sure that they check field types. 4> Clean up existing testing cases to remove llvm.dbg.sp and make sure each testing case has a llvm.dbg.cu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
2d69cc4baec46899cef88e14d8b9baf1c196fbcd |
|
27-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: verify SPs in llvm.dbg.sp. Also always add DIType, DISubprogram and DIGlobalVariable to the list in DebugInfoFinder without checking them, so we can verify them later on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
388d3225dd26d5ebe1eaf4d993eff8cf602c258f |
|
26-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Use more parens to clarify assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
ce0a12399c263544bb23920131bd3da60d981b38 |
|
26-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: enable verification of DICompileUnit. We used to call Verify before adding DICompileUnit to the list, and now we remove the check and always add DICompileUnit to the list in DebugInfoFinder, so we can verify them later on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
d4afa8bbabd83e2b68afcc61e44fadb9e7964b07 |
|
26-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Collapse conditional and add an assert for unhandled scope types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
956e5aa3bd32212c6902a585a367dbf58d685340 |
|
26-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Add a way to get the context of any particular scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
3367ed322026a475273dc676896c0d03c1e8102f |
|
25-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: update comments and add a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
cb420a4bc066b0b85e50b0c362ae20519d28788c |
|
25-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: improve the verifier to check field types. Make sure the context field of DIType is MDNode. Fix testing cases to make them pass the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
27ce44d3b4d2111c636fd802920dd0c35b7d6829 |
|
25-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: improve the verifier to check field types. Make sure the context and type fields are MDNodes. We will generate verification errors if those fields are non-empty strings. Fix testing cases to make them pass the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
504a7fb8f9499a46d7c62a691cb6fa373e23387b |
|
24-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: improve the Finder. Improve the Finder to handle context of a DIVariable used by DbgValueInst. Fix testing cases to make them pass the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e6f774e7ef1a11af39a6565465355db905f59d81 |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Replace with a "null" RAUW with an assert since we'd actually like to assume we're replacing. Clarify comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
167153080bb192dc7ecb58ea41093c85a7d6a84f |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
2d3adad723653e4acd3d1b3f7fcfd2691acccb73 |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Remove unnecessary constructors as the default conversions will handle all enumerated cases. Reformat the rest of the existing constructors to match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e72a4d4843f8f42ac6dfda6511ad6a0a57468077 |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
More constructor cleanup. Move to a single constructor with a default argument and avoid the check and nullification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
78ac65f06b0788f0cd657b2b0af5a0669322932f |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Collapse logic and move and reword comment for clarity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
bf7644a27e517aeb24ed999a7444ab971d70693d |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Add a fixme and reformat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
7894ffd006bfabd45c75696c9b7cfdda7c7bad9d |
|
24-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: improve the Finder. Improve the Finder to handle context of a DIVariable. If Scope is a DICompileUnit, add it to the list of CUs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
4f2c29708d3208197f706f6e8841a2f828aea89c |
|
24-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
d2b82e9bb37699c7571558aa5d35e00f8030028f |
|
24-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Remove unused function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
d2ed53c8e24ddb1e30246c918a8eabb678bd9495 |
|
23-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: code cleanup, use getNodeField if possible. Use getNodeField to access a field as a MDNode. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
9fd6178dec9531fd44420e2bd121a36a1b9781fc |
|
23-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
DebugInfo Verifier: verify the actual type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
0e29eeec278d80048de6cf6605e004bbdefaf38c |
|
23-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder: use processDeclare and processValue to list debug info MDNodes used by DbgDeclareInst and DbgValueInst. Another 16 testing cases failed and they are disabled with -disable-debug-info-verifier. A total of 34 cases are disabled with -disable-debug-info-verifier and will be corrected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
fdd16bb91842b9cd8525d0a9202eb001233afcb5 |
|
22-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Finder: add processScope to actually handle the Scope. Instead of just adding the scope to the list, we actually handle the scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
96ea03839becf151b2eda518b4bc55b84f6373bf |
|
20-Jul-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info Verifier: simplify DIxxx::Verify Simplify DIxxx:Verify to not call Verify on an operand. Instead, we use DebugInfoFinder to list all MDNodes that should be a DIScope and all MDNodes that should be a DIType and we will call Verify on those lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
cd26257c85ba52d83b3febcef5c40c5153836062 |
|
19-Jul-2013 |
Manman Ren <mren@apple.com> |
Debug Info: enable verifying by default and disable testing cases that fail. 1> Use DebugInfoFinder to find debug info MDNodes. 2> Add disable-debug-info-verifier to disable verifying debug info. 3> Disable verifying for testing cases that fail (will update the testing cases later on). 4> MDNodes generated by clang can have empty filename for TAG_inheritance and TAG_friend, so DIType::Verify is modified accordingly. Note that DebugInfoFinder does not list all debug info MDNode. For example, clang can generate: metadata !{i32 786468}, which will fail to verify. This MDNode is used by debug info but not included in DebugInfoFinder. This MDNode is generated as a temporary node in DIBuilder::createFunction Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) }; MDNode::getTemporary(VMContext, TElts) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
7bb386a299a7ccee998654dc7f000f66dd3acbbf |
|
09-Jul-2013 |
Eric Christopher <echristo@gmail.com> |
Revert "DebugInfo: remove unused helper function getDICompositeType." This reverts commit r185876 as the functions appear to still be used by dragonegg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6cf7246ecaf058733fdf8fa47896907204839f68 |
|
08-Jul-2013 |
Manman Ren <mren@apple.com> |
DebugInfo: remove unused helper function getDICompositeType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
09bb56f0a0bb098faf076e54ee84221c1fd9fefa |
|
05-Jul-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Consider global variables without locations to be valid We were being a bit too aggresive here in classifying global variables with no global reference or constant value to be invalid - this would cause LLVM to not emit the DWARF description of the global variable if it had been optimized away, which isn't helpful for users who might benefit from the global variable's description even if there's no location information. This also fixes a crasher issue here that I was unable to reduce a test case for - involving a using decl (& subsequent DW_TAG_imported_declaration ) of such a global variable that, once optimized away, would crash when an attempt to emit the imported declaration was made. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
c7b61c638b912eaa7f85c7794589a253a3669162 |
|
01-Jul-2013 |
Manman Ren <mren@apple.com> |
Debug Info: Scope of a DebugLoc should not be null. No functionality change. Remove handling for the null case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
da91817d40dad85a15e0f2a7e11d4d302949586b |
|
29-Jun-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. For cases where we know the type of a DI metadata, use assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e88939cfebbc98133553c6fc03a52b8fb1adbb70 |
|
22-Jun-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: Support (using GNU extensions) for template template parameters and parameter packs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e954d98394c257b98b24e7ad43d4f5d1bffe09b1 |
|
21-Jun-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: When asm printing include a '[def]' tag for tag decls that are definitions (& rename the 'fwd' tag to 'decl' for clarity) This change is version locked with a change in Clang, so expect some transient buildbot fallout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
88c744083d6cf5f4810c1e9fe457a212bb24d432 |
|
29-May-2013 |
Adrian Prantl <aprantl@apple.com> |
Simplify logic by using the appropriate functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
4de9d72883eebe4e86bffdaad89483dfe822e2a5 |
|
10-May-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14492: Debug Info: Support for values of non-integer non-type template parameters. This is only tested for global variables at the moment (& includes tests for the unnamed parameter case, since apparently this entire function was completely untested previously) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
13ace6664fad8b4d0277d16690674f4e1f176642 |
|
08-May-2013 |
Daniel Malea <daniel.malea@intel.com> |
Add DebugIR pass -- emits IR file and replace source lines with IR lines in MD - requires existing debug information to be present - fixes up file name and line number information in metadata - emits a "<orig_filename>-debug.ll" succinct IR file (without !dbg metadata or debug intrinsics) that can be read by a debugger - initialize pass in opt tool to enable the "-debug-ir" flag - lit tests to follow git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.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/IR/DebugInfo.cpp
|
2ca02c655d158b2c4aaf004c597073adf67b8967 |
|
17-Apr-2013 |
David Blaikie <dblaikie@gmail.com> |
PR15149/r174304 improvement - print hex for unknown dwarf language codes & add a test case CR feedback from Rafael Espindola and Paul Robinson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
72dfb052ab74a9e642256212a50c9b805ce5c943 |
|
28-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert "Adding DIImportedModules to DIScopes." This reverts commit 342d92c7a0adeabc9ab00f3f0d88d739fe7da4c7. Turns out we're going with a different schema design to represent DW_TAG_imported_modules so we won't need this extra field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
354504320b4984eebf918bec02dc4c248e0b309b |
|
27-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Fix comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
2b393fb134c621a7f0824eaea35ad94eae7da062 |
|
27-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Silence warning about mixing || in &&, fix up 80-cols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
342d92c7a0adeabc9ab00f3f0d88d739fe7da4c7 |
|
27-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Adding DIImportedModules to DIScopes. This is just the basic groundwork for supporting DW_TAG_imported_module but I wanted to commit this before pushing support further into Clang or LLVM so that this rather churny change is isolated from the rest of the work. The major churn here is obviously adding another field (within the common DIScope prefix) to all DIScopes (files, classes, namespaces, lexical scopes, etc). This should be the last big churny change needed for DW_TAG_imported_module/using directive support/PR14606. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
f34ea642e6402538f217db67a734a8530a36eed0 |
|
27-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
DebugInfo: more support for mutating DICompositeType to reduce magic number usage in Clang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
d072a166d6c77ebcfb4fde796e0784a56020b9a4 |
|
26-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Debug Info: Provide a means to update the members of a composite type This will be used to factor out some uses of magic number operand offsets inside Clang where these fields were updated in an effort to resolve forward declarations/circular references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
8faed2745c849fb35f6edf411263dfa564ef3643 |
|
22-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Swap the DIFile in DILexicalBlockFile out for the raw name/directory pair This is the last change in transitioning all DIScopes to have a common prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
4b52a88e90b341ff2a3d1dbad6eb5ea731228156 |
|
22-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Refactor out the DIFile parameter to DILexicalBlock to refer to the raw file/directory pair git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
bb4e619cd9ff34708e3baaf0aac70275a917e0ba |
|
22-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Refactor the filename/directory information in DISubprogram to refer directly to the pair rather than the DIFile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
ebb5183a2f16abc7c88241bb42412465f52c2a61 |
|
21-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove unused field in DISubprogram git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
00c5c5d46731834caa0ca3280e0dcc43202dd3c8 |
|
21-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Debug info: refactor the first field of DICompileUnit to be a raw file/directory pair This removes the DICompileUnit special case from DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
404ecce8903f83271c82e368c834a9697799c296 |
|
20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove unused field in DICompileUnit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6115ed0e4347f17504f72e4d37545b4230b2cb50 |
|
20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Refactor file/directory path in namespace debug info to refer directly to the pair rather than the DIFile (paired to a Clang test - excuse the buildbot skew/fallout) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
1cd30fd994aa8825c10d073f0f1ae9c6ba358ae4 |
|
20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Provide more details for DINameSpace debug info in the IR comment annotations Sorry for the version skew - I should've committed this before the corresponding Clang test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
4776bce28cb7d669329222c3d9cf6a97d6881c96 |
|
20-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Refactor the DIFile (2nd) parameter to DITypes to be an MDNode reference to a raw directory/file pair This makes DIType's first non-tag parameter the same as DIFile's, allowing them to both share the common implementation of getFilename/getDirectory in DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
b4cf0ab22b5a3ebb720f0b7287fdccfb465b6b7c |
|
17-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Split out filename & directory from DIFile to start generalizing over DIScopes This is the first step to making all DIScopes have a common metadata prefix (so that things (using directives, for example) that can appear in any scope can be added to that common prefix). DIFile is itself a DIScope so the common prefix of all DIScopes cannot be a DIFile - instead it's the raw filename/directory name pair. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e0805a992ddd2823604969c8aac61a2f339f3c01 |
|
13-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove the unused 4th operand for DIFile debug info metadata git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
de3077ae6b5ad8e6f417a8f6aa0ca1ae980f6272 |
|
13-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Refactor filename/directory in DICompileUnit into a DIFile This is the next step towards making the metadata for DIScopes have a common prefix rather than having to delegate based on their tag type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
46561ce249984ddea405ce837b53367a59fd9f3b |
|
12-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove unused "isMain" field from DICompileUnit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
14891447fff5b9a5980c1728fbe15140b6350ae3 |
|
12-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Update debug info test cases with empty SplitDebugFilename field. This could be 'null' or the empty string, DIDescriptor::getStringField coalesces the two cases anyway so it's just a matter of legible/efficient representation. The change in behavior of the DICompileUnit::get* functions could be subsumed by the full verification check - but ideally that should just be an assertion if we could front-load the actual debug info metadata failure paths. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
6643868498043d373384e0befaff3b5a8a8574f7 |
|
12-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Add asserts to DIBuilder & fix DINameSpace::Verify to allow unnamed namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
f839eed5ea2bfd395256d60e15d1e31dbad6ca8b |
|
04-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
[DebugInfo] remove more node indirection (this time from the subprogram's variable lists) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
a9b1317443990533f56a8420c0fbfb8868dad566 |
|
04-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
PR15149: crash when printing debug info metadata containing an invalid language spec git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
a8eefc7cc7c6e8be06d570fff76dc42b43a23392 |
|
02-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove the (apparently) unnecessary debug info metadata indirection. The main lists of debug info metadata attached to the compile_unit had an extra layer of metadata nodes they went through for no apparent reason. This patch removes that (& still passes just as much of the GDB 7.5 test suite). If anyone can show evidence as to why these extra metadata nodes are there I'm open to reverting this patch & documenting why they're there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
fe07db323b2b403236375af0a54b0ed2294cd0e6 |
|
20-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
Fix a latent bug exposed by recent static member debug info changes. We weren't encoding boolean constants correctly due to modeling boolean as a signed type & then sign extending an i1 up to a byte & getting 255. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
6b6061f01171bd3d4e32022efa45428d4f9941ee |
|
16-Jan-2013 |
Eric Christopher <echristo@gmail.com> |
Define metadata interfaces for describing a static data member of a class. Emit static data member declarations and definitions through correctly. Part of PR14471. Patch by Paul Robinson! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
9a1e0e252a7ede548acaac98cf304d4bb135fb97 |
|
08-Jan-2013 |
Eric Christopher <echristo@gmail.com> |
Remove the llvm-local DW_TAG_vector_type tag and add a test to make sure that vector types do work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
0fecdfb7c44aee85e78e0ba6e9547b702bc64c4a |
|
08-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
Mark artificial types as such in the annotated debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
72a81be37452983f9960a376c19682034ef7db35 |
|
08-Jan-2013 |
Eric Christopher <echristo@gmail.com> |
Remove what appears to be a dead llvm-specific debug tag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
62fdfb5fa7efdfd61339e4abe6fd87e60e939e58 |
|
07-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14759: Debug info support for C++ member pointers. This works fine with GDB for member variable pointers, but GDB's support for member function pointers seems to be quite unrelated to DW_TAG_ptr_to_member_type. (see GDB bug 14998 for details) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|
e302b6cb69e96b948101e1ab6c0476187c92ee84 |
|
05-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
Include access modifiers in subprogram metadata IR comment. Based on code review feedback in r171604 from Chandler Carruth & Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.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/IR/DebugInfo.cpp
|
c2c50cdcdc19a1bca993c06d13d8cdca87083ce4 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rename VMCore directory to IR. Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/IR/DebugInfo.cpp
|