summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* Use new DIBuilder::finalize() at the end to wrap up debug info encoding for ↵Devang Patel2011-08-151-0/+1
| | | | | | a translation unit. llvm-svn: 137674
* now that we have a centralized place to do so, add some using declarations forChris Lattner2011-07-201-14/+14
| | | | | | | some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. llvm-svn: 135576
* Fix struct member's scope. Patch by Xi Wang.Devang Patel2011-06-241-2/+4
| | | | llvm-svn: 133829
* Move GlobalDecl to ASTPeter Collingbourne2011-06-141-1/+1
| | | | llvm-svn: 132973
* List c++ class type as public type in dwarf debug info output.Devang Patel2011-05-311-0/+2
| | | | llvm-svn: 132357
* Simplify. There is no need to have a method to just call another method.Devang Patel2011-04-251-5/+0
| | | | llvm-svn: 130175
* Tie debug information for method declaration with debug information for ↵Devang Patel2011-04-231-0/+4
| | | | | | method definition. llvm-svn: 130037
* Fix typo in comment.Devang Patel2011-04-181-1/+1
| | | | llvm-svn: 129703
* Emit proper selector name in debug info.Devang Patel2011-04-161-0/+4
| | | | llvm-svn: 129626
* Emit debug info for function template parameters.Devang Patel2011-04-051-1/+7
| | | | llvm-svn: 128948
* Refactor.Devang Patel2011-04-051-0/+5
| | | | llvm-svn: 128893
* Update type cache when a type is completed.Devang Patel2011-03-231-0/+4
| | | | | | Radar 9168773 llvm-svn: 128150
* Encode argument numbering in debug info so that code generator can emit them ↵Devang Patel2011-03-031-2/+2
| | | | | | | | in order. This fixes few blocks.exp regressions. llvm-svn: 126960
* revert r126858.Devang Patel2011-03-021-2/+2
| | | | llvm-svn: 126874
* Encode argument numbering in debug info so that code generator can emit them ↵Devang Patel2011-03-021-2/+2
| | | | | | | | | | in order. This fixes few blocks.exp regressions. Reapply r126795 with a fix (one character change) for gdb testsuite regressions. llvm-svn: 126858
* Revert r126794.Devang Patel2011-03-021-2/+2
| | | | llvm-svn: 126848
* Encode argument numbering in debug info so that code generator can emit them ↵Devang Patel2011-03-011-2/+2
| | | | | | | | in order. This fixes few blocks.exp regressions. llvm-svn: 126795
* Emit the structure layout of the block literal parameter to a blockJohn McCall2011-02-221-1/+11
| | | | | | | | | | invocation function into the debug info. Rather than faking up a class, which is tricky because of the custom layout we do, we just emit a struct directly from the layout information we've already got. Also, don't emit an unnecessarily parameter alloca for this "variable". llvm-svn: 126255
* Simplify test to check an aggregate argument that has non trivial ↵Devang Patel2011-02-161-2/+2
| | | | | | | | constructor or destructor. This patch rewrites r125142. llvm-svn: 125632
* If an aggregate argument is passed indirectly because it has non trivialDevang Patel2011-02-091-2/+2
| | | | | | | | destructor or copy constructor than let debug info know about it. Radar 8945514. llvm-svn: 125142
* A few more tweaks to the blocks AST representation: John McCall2011-02-071-6/+8
| | | | | | | | | | | | | | | | | - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. llvm-svn: 125005
* Debug info generation for rvalue referencesDouglas Gregor2011-01-221-0/+1
| | | | llvm-svn: 124020
* Simplify.Devang Patel2011-01-171-4/+3
| | | | llvm-svn: 123682
* Remove unused parameter. getContextDescriptor() and getOrCreateNameSpace().Devang Patel2010-12-091-4/+2
| | | | llvm-svn: 121333
* Remove unused parameter.Devang Patel2010-12-091-1/+1
| | | | llvm-svn: 121326
* Start using DIBuilder. It provides cleaner interface.Devang Patel2010-12-081-6/+7
| | | | llvm-svn: 121302
* Simplify. Builtin types' context is always implied.Devang Patel2010-11-011-1/+1
| | | | llvm-svn: 117928
* Basic types are language defined builtins. They are always defined at top ↵Devang Patel2010-10-281-0/+3
| | | | | | most level. llvm-svn: 117613
* Fix debug info for anon union. Devang Patel2010-10-121-0/+1
| | | | | | This is tested by anon-union.exp. llvm-svn: 116372
* Permit constant evaluation of const floating-point variables withJohn McCall2010-10-091-1/+1
| | | | | | constant initializers. llvm-svn: 116138
* Remove unused argument.Devang Patel2010-10-061-2/+1
| | | | llvm-svn: 115789
* Introduce -flimit-debug-info.Devang Patel2010-09-301-1/+3
| | | | | | In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress. llvm-svn: 115188
* Tidy up last commit, as per Devang's comments.David Chisnall2010-09-021-0/+3
| | | | llvm-svn: 112840
* Debug info for friends!Devang Patel2010-08-271-0/+6
| | | | | | Patch originally by Alexander Herz. llvm-svn: 112275
* Emit debug info for enum constants.Devang Patel2010-08-231-0/+1
| | | | llvm-svn: 111852
* Introduce a new temporary MDNode concept. Temporary MDNodes areDan Gohman2010-08-201-6/+3
| | | | | | | | not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111682
* Simplify code and add comments, in code that generate debug info for ↵Devang Patel2010-08-101-2/+2
| | | | | | constant integer globals, based on Chris's feedback. llvm-svn: 110694
* Even if a constant's evaluated value is used, emit debug info for the ↵Devang Patel2010-08-101-0/+4
| | | | | | constant variable. llvm-svn: 110660
* Always use current working directory for DW_AT_comp_dir.Devang Patel2010-07-271-4/+0
| | | | llvm-svn: 109535
* Reapply 109303. Devang Patel2010-07-271-0/+8
| | | | llvm-svn: 109507
* Revert 109303.Devang Patel2010-07-261-8/+0
| | | | llvm-svn: 109426
* Untangle filename/dirname confusion. Store constructed strings on the side. ↵Devang Patel2010-07-241-0/+8
| | | | | | | | | | | | | | | | | | | | Avoid use of Path.makeAbsolute(). DW_TAG_compile_unit uses two attributes DW_AT_name and DW_AT_comp_dir. Their expected values are: $ clang foo.c -g DW_AT_name - foo.c DW_AT_comp_dir - `pwd` $ clang one/two/foo.c -g DW_AT_name - one/two/foo.c DW_AT_comp_dir - `pwd` $ clang /tmp/one/foo.c -g DW_AT_name - /tmp/one/foo.c DW_AT_comp_dir - empty llvm-svn: 109303
* Keep track of artificial scopes introduced by line directives. For example,Devang Patel2010-07-221-0/+15
| | | | | | | | | | | | #line 41 "bar.c" dummy (1, i); #line 24 "bar.h" i = f2 (i); #line 44 "bar.c" This is tested by step-line.exp in gdb testsuite. llvm-svn: 109189
* Remove unused argument.Devang Patel2010-07-201-3/+3
| | | | llvm-svn: 108946
* Print template argument names for template class.Devang Patel2010-07-201-0/+3
| | | | llvm-svn: 108916
* Substantially alter the design of the Objective C type AST by introducingJohn McCall2010-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. llvm-svn: 103870
* If given location is invalid then use current location.Devang Patel2010-05-121-0/+7
| | | | | | | | | This fixes recent regressions reported by gdb testsuite. Tighter verification of debug info generated by FE found these regressions. Refactor code to extract line number and column number from SourceLocation. llvm-svn: 103678
* Fix pasto, add a comment.Benjamin Kramer2010-04-241-0/+1
| | | | llvm-svn: 102263
* Factor code. No functionality change.Benjamin Kramer2010-04-241-0/+3
| | | | llvm-svn: 102262
* Vtable -> VTable renames across the board.Anders Carlsson2010-04-171-3/+3
| | | | llvm-svn: 101666
OpenPOWER on IntegriCloud