summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
Commit message (Collapse)AuthorAgeFilesLines
...
* When in a limited debug information situation if we can find the originalEric Christopher2011-12-161-0/+1
| | | | | | | | | declaration for the type then go ahead and use that, it's still smaller than creating an all new derived type. Part of rdar://10335756 and others. llvm-svn: 146779
* Minor cleanup, mostly reindenting. Remove one helper function that just calledNick Lewycky2011-11-091-1/+0
| | | | | | | the other helper functions, since we already differentiated the cases it was testing between. No functionality change. llvm-svn: 144167
* Recommit:Eric Christopher2011-10-131-11/+7
| | | | | | | | | | | | | | | Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. llvm-svn: 141893
* Revert file/scope handling patches. gdb testing revealed a couple of bugs.Eric Christopher2011-10-121-7/+11
| | | | llvm-svn: 141796
* Start handling debug line and scope information better:Eric Christopher2011-10-111-11/+7
| | | | | | | | | | | Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 llvm-svn: 141732
* Constant expression evaluation refactoring:Richard Smith2011-10-101-1/+1
| | | | | | | | | | | - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. llvm-svn: 141561
* Support for C1x _Atomic specifier (see testcase). This is primarily being ↵Eli Friedman2011-10-061-0/+1
| | | | | | | | committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! llvm-svn: 141330
* Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher2011-09-291-10/+11
| | | | | | correspond to. llvm-svn: 140740
* Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher2011-09-291-3/+3
| | | | | | exist anymore. llvm-svn: 140739
* Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher2011-09-291-4/+4
| | | | | | | point in the code. Ensures that we don't miss any places and the check is reasonably cheap. llvm-svn: 140737
* 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
OpenPOWER on IntegriCloud