summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Minor include pruning.Benjamin Kramer2010-03-311-1/+0
| | | | llvm-svn: 100007
* Cache results computed by CGDebugInfo::getOrCreateFile() in a DenseMap.Ted Kremenek2010-03-301-0/+1
| | | | | | This reduces '-c -g' time on one file in 403.gcc by 12%. llvm-svn: 99857
* Remove FIXME comment.Ted Kremenek2010-03-291-1/+0
| | | | llvm-svn: 99828
* Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces ↵Ted Kremenek2010-03-291-1/+1
| | | | | | | | codegen time on one .i file from 403.gcc by 0.5%. llvm-svn: 99823
* More then one anonymous aggregates on one line creates chaos when MDNode ↵Devang Patel2010-03-091-3/+3
| | | | | | | | uniquness is combined with RAUW operation. Right solution is to avoid using RAUW. This fixes PR 6554. llvm-svn: 98083
* Start using DIFile. Corresponding llvm patch is r98020.Devang Patel2010-03-091-33/+34
| | | | llvm-svn: 98021
* Emit debug info for VectorType.Devang Patel2010-02-231-0/+1
| | | | llvm-svn: 96999
* Refactor code that generates debug info for variables that has BlocksAttr.Devang Patel2010-02-101-0/+5
| | | | llvm-svn: 95786
* Emit debug info for namespaces.Devang Patel2010-02-011-1/+4
| | | | llvm-svn: 94991
* Maintain a map of regions (lexical scopes) and use it to find context for a ↵Devang Patel2010-01-291-1/+2
| | | | | | global variable. llvm-svn: 94817
* s/CGDebugInfo::getContext/CGDebugInfo::getContextDescriptor/g to avoid ↵Devang Patel2010-01-281-2/+3
| | | | | | confusion. llvm-svn: 94760
* s/FunctionNames/DebugInfoNames/gDevang Patel2010-01-281-2/+2
| | | | llvm-svn: 94753
* Emit vtable info.Devang Patel2010-01-281-0/+12
| | | | llvm-svn: 94751
* Include "this" pointer argument while emitting debug info for a C++ method.Devang Patel2010-01-281-0/+2
| | | | llvm-svn: 94710
* Fix the test I broke, and also fix a crash when declaring a virtual ↵Anders Carlsson2010-01-261-1/+1
| | | | | | destructor. Add debug info support for pure virtual member functions. llvm-svn: 94519
* Factor creating the DISubprogram for a member function out into a separate ↵Anders Carlsson2010-01-261-0/+5
| | | | | | function. llvm-svn: 94513
* First cut at emitting inheritance info.Devang Patel2010-01-251-0/+6
| | | | llvm-svn: 94473
* First cut at emitting debugging information for C++ member functions.Devang Patel2010-01-191-0/+6
| | | | | | There is lot more work to do in this area. llvm-svn: 93836
* Refactor.Devang Patel2010-01-191-0/+2
| | | | llvm-svn: 93814
* Emit human readable names for c/c++ functions. Avoid emitting linkage name ↵Devang Patel2010-01-141-1/+12
| | | | | | if it matches regular name. llvm-svn: 93383
* Use StringRef in CGDebugInfo::EmitFunctionStart.Benjamin Kramer2009-12-081-1/+1
| | | | llvm-svn: 90856
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-061-3/+4
| | | | llvm-svn: 90711
* Do not store DIDescriptor directly into a container. Store MDNode directly, ↵Devang Patel2009-11-131-1/+1
| | | | | | through TrackingVH. llvm-svn: 88677
* Simplify the debug info code, handle lvalue references and template ↵Anders Carlsson2009-11-061-0/+4
| | | | | | specializations. llvm-svn: 86277
* Fixup the return type of functions.Mike Stump2009-10-231-1/+1
| | | | llvm-svn: 84922
* Add support to attach debug info to an instruction.Devang Patel2009-10-061-0/+1
| | | | | | This is not yet enabled. llvm-svn: 83399
* Set appropriate context for a global variable while emitting debug info.Devang Patel2009-10-061-0/+3
| | | | llvm-svn: 83352
OpenPOWER on IntegriCloud