summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DIBuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* The DIBuilder class is just a wrapper around debug info creationBill Wendling2012-06-291-1018/+0
| | | | | | | (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. llvm-svn: 159414
* Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp andBill Wendling2012-06-281-1/+1
| | | | | | | | | 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. llvm-svn: 159312
* Add support for enum forward declarations.Eric Christopher2012-06-011-2/+2
| | | | | | Part of rdar://11570854 llvm-svn: 157786
* Add support for C++11 enum classes in llvm.Eric Christopher2012-05-231-2/+3
| | | | | | Part of rdar://11496790 llvm-svn: 157303
* Actually support DW_TAG_rvalue_reference_type that we were tryingEric Christopher2012-05-191-3/+4
| | | | | | | | to generate out of the front end. rdar://11479676 llvm-svn: 157094
* Clarify comment.Eric Christopher2012-05-181-1/+1
| | | | llvm-svn: 157033
* Allow forward declarations to take a context. This helps the debuggerEric Christopher2012-04-231-7/+8
| | | | | | | | | find forward declarations in the context that the actual definition will occur. rdar://11291658 llvm-svn: 155380
* Add a line number for the scope of the function (starting at the firstEric Christopher2012-04-031-2/+7
| | | | | | | | | | 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 llvm-svn: 153916
* Lowercase the tag name to match the rest of dwarf.Eric Christopher2012-03-291-1/+1
| | | | llvm-svn: 153691
* Add support for objc property decls according to the page at:Eric Christopher2012-03-291-3/+8
| | | | | | | | | | http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the metadata needed accordingly. rdar://11144023 llvm-svn: 153639
* Add support for runtime languages on our forward declarations.Eric Christopher2012-02-201-2/+5
| | | | llvm-svn: 150973
* Typo in variable name.Eric Christopher2012-02-171-2/+2
| | | | llvm-svn: 150796
* Add support for a temporary forward decl type. We want this so weEric Christopher2012-02-081-0/+22
| | | | | | | | can rauw forward declarations if we decide to emit the full type. Part of rdar://10809898 llvm-svn: 150024
* Remove tabs.Devang Patel2012-02-081-3/+3
| | | | llvm-svn: 150022
* DebugInfo: Provide a new hook to encode relationship between a property and ↵Devang Patel2012-02-061-0/+24
| | | | | | an ivar. llvm-svn: 149874
* Introduce DIObjCProperty. This will be used to encode objective-c property.Devang Patel2012-02-041-0/+16
| | | | llvm-svn: 149732
* Cleanup these asserts to follow common LLVM style and codingChandler Carruth2012-01-101-5/+5
| | | | | | | conventions. Also, clarify the grouping of one of the asserts to silence -Wparentheses. llvm-svn: 147863
* Update language check. Do not ignore DW_LANG_Python.Devang Patel2012-01-091-1/+2
| | | | | | Patch by Joe Groff! llvm-svn: 147781
* In DICompositeType, referenced to derived type is either metadata or null.Devang Patel2011-12-161-5/+5
| | | | llvm-svn: 146744
* Virtual table holder field is either metadata or null. Devang Patel2011-12-151-1/+1
| | | | llvm-svn: 146665
* Fix typo in comment.Nick Lewycky2011-11-091-1/+1
| | | | llvm-svn: 144236
* Add a new wrapper node for a DILexicalBlock that encapsulates it and aEric Christopher2011-10-111-0/+12
| | | | | | | | | | | | | 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 llvm-svn: 141729
* Add support to emit debug info for C++0x nullptr type.Devang Patel2011-09-141-0/+20
| | | | llvm-svn: 139751
* Fix typo.Eric Christopher2011-09-121-1/+1
| | | | llvm-svn: 139530
* Add asserts to keep front-ends honest while encoding debug info into LLVM IR ↵Devang Patel2011-09-121-0/+9
| | | | | | using DIBuilder. llvm-svn: 139515
* Whitespace and 80-col.Eric Christopher2011-08-261-40/+43
| | | | llvm-svn: 138654
* Do not use named md nodes to track variables that are completely optimized. ↵Devang Patel2011-08-191-8/+28
| | | | | | This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly. llvm-svn: 138145
* There is no need to add file as context for subroutine type. The subroutine ↵Devang Patel2011-08-181-2/+2
| | | | | | type does not need any context. llvm-svn: 138010
* Until now all debug info MDNodes referred to a root MDNode, a compile unit. ↵Devang Patel2011-08-161-46/+76
| | | | | | | | 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. llvm-svn: 137778
* Add a finalize() hook, that'll let DIBuilder construct compile unit lazily.Devang Patel2011-08-151-0/+4
| | | | llvm-svn: 137673
* Reapply r135457. This needs llvm-gcc change, that I forgot to check-in ↵Devang Patel2011-07-191-1/+3
| | | | | | yesterday. llvm-svn: 135504
* Revert "Make a provision to encode inline location in a variable. This will ↵Bob Wilson2011-07-191-3/+1
| | | | | | | | enable dwarf writer to easily distinguish between two instances of a inlined variable in one basic block." This reverts commit 9fec5e346efdf744b151ae6604f912908315fa7a. llvm-svn: 135486
* Make a provision to encode inline location in a variable. This will enable ↵Devang Patel2011-07-191-1/+3
| | | | | | dwarf writer to easily distinguish between two instances of a inlined variable in one basic block. llvm-svn: 135457
* Convert CallInst and InvokeInst APIs to use ArrayRef.Jay Foad2011-07-151-5/+5
| | | | llvm-svn: 135265
* Fix struct member's scope. Patch by Xi Wang.Devang Patel2011-06-241-2/+2
| | | | llvm-svn: 133828
* A typedef's context is not the same as type's context. It is the context of ↵Devang Patel2011-06-031-2/+2
| | | | | | typedef decl itself. Use extra parameter to communicate this to DIBuilder. llvm-svn: 132556
* Use llvm.dbg.cu named metadata to collect compile units.Devang Patel2011-05-031-0/+4
| | | | llvm-svn: 130756
* Fix an off by one error while accessing complex address element of a DIVariable.Devang Patel2011-04-261-0/+1
| | | | | | This worked untill now because stars are aligned (i.e. num of complex address elments are always 0 or 2+ and when it is 2+ at least two elements are access together) llvm-svn: 130225
* PR9214: Convert the DIBuilder API to use ArrayRef.Jay Foad2011-04-241-8/+6
| | | | llvm-svn: 130086
* Let front-end tie subprogram declaration with subprogram definition directly.Devang Patel2011-04-221-2/+4
| | | | llvm-svn: 130028
* PR9214: Convert Metadata API to use ArrayRef.Jay Foad2011-04-211-9/+11
| | | | llvm-svn: 129932
* Use ArrayRef variants.Devang Patel2011-04-181-35/+33
| | | | llvm-svn: 129735
* Introduce support to encode Objective-C property information in debugging ↵Devang Patel2011-04-161-0/+29
| | | | | | information generated for an interface. llvm-svn: 129624
* Add support to encode function's template parameters.Devang Patel2011-04-051-4/+8
| | | | llvm-svn: 128947
* Today, the language front ends produces llvm.dbg.* intrinsics, used to ↵Devang Patel2011-03-011-5/+5
| | | | | | | | encode arguments' debug info, in order any way, most of the times. However, if a front end mix-n-matches llvm.dbg.declare and llvm.dbg.value intrinsics to encode debug info for arguments then code generator needs a way to find argument order. Use 8 bits from line number field to keep track of argument ordering while encoding debug info for an argument. That leaves 24 bit for line no, DebugLoc also allocates 24 bit for line numbers. If a function has more than 255 arguments then rest of the arguments will be ordered by llvm.dbg.* intrinsics' ordering in IR. llvm-svn: 126793
* Follow LLVM coding style. Devang Patel2011-02-221-77/+77
| | | | | | clang uses DBuilder, so it requries corresponding change. llvm-svn: 126231
* Add support to describe template value parameter in debug info.Devang Patel2011-02-021-0/+21
| | | | llvm-svn: 124755
* Add support to describe template parameter type in debug info.Devang Patel2011-02-021-2/+22
| | | | llvm-svn: 124752
* Use type's file info while describing inheritance relationship.Devang Patel2010-12-081-1/+1
| | | | llvm-svn: 121289
* Add support to create debug info for functions and methods.Devang Patel2010-12-081-0/+77
| | | | llvm-svn: 121281
OpenPOWER on IntegriCloud