summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove another duplicated variable.Eric Christopher2012-01-261-8/+7
| | | | llvm-svn: 149047
* Tidy and remove some unused variables.Eric Christopher2012-01-261-7/+5
| | | | llvm-svn: 149015
* Collect this information together. No reason to have it split.Eric Christopher2012-01-261-7/+5
| | | | llvm-svn: 149013
* Refactor into its own function.Eric Christopher2012-01-261-22/+29
| | | | llvm-svn: 149012
* Clean up comment.Eric Christopher2012-01-251-1/+1
| | | | llvm-svn: 148982
* Refactor the record decl forward declaration code a bit.Eric Christopher2012-01-251-37/+27
| | | | llvm-svn: 148904
* When adding types to the context chain for record types, just emitEric Christopher2012-01-201-3/+54
| | | | | | | | | a forward declaration unless we already have a type. We can fill it in later if it's actually used. Fixes PR11345 llvm-svn: 148584
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-3/+0
| | | | llvm-svn: 148577
* constexpr irgen: Add irgen support for APValue::Struct, APValue::Union,Richard Smith2012-01-141-3/+2
| | | | | | | | | | | | | | | | | | | | APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants. Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other entrypoints dealing with constant member pointers are no longer necessary and will be removed in a later change. Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to VarDecl::evaluateValue. This performs caching and deals with the nasty cases in C++11 where a non-const object's initializer can refer indirectly to previously-initialized fields within the same object. Building the intermediate APValue object incurs a measurable performance hit on pathological testcases with huge initializer lists, so we continue to build IR directly from the Expr nodes for array and record types outside of C++11. llvm-svn: 148178
* Formatting.Eric Christopher2012-01-121-1/+1
| | | | llvm-svn: 147989
* Formatting.Eric Christopher2012-01-121-1/+1
| | | | llvm-svn: 147988
* Small refactoring and simplification of constant evaluation and some of itsRichard Smith2011-12-281-8/+8
| | | | | | clients. No functionality change. llvm-svn: 147318
* When in a limited debug information situation if we can find the originalEric Christopher2011-12-161-6/+23
| | | | | | | | | 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
* Start down the path of getting clang to internally agree on structs versusEric Christopher2011-12-161-12/+15
| | | | | | | | classes. Part of rdar://10520586 and a couple others. llvm-svn: 146778
* When generating debug info for an ObjCInterfaceDecl, try to dig out the ↵Douglas Gregor2011-12-151-1/+3
| | | | | | definition. llvm-svn: 146705
* Keep track of all declarations of an Objective-C class (both forwardDouglas Gregor2011-12-151-1/+1
| | | | | | | | | | declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" llvm-svn: 146679
* Make sure that forward declarations are marked as such in the debug infoEric Christopher2011-11-291-1/+2
| | | | | | | | for the structure type. rdar://10499337 llvm-svn: 145461
* Use the canonical decl to index so that we can really find it later.Eric Christopher2011-11-171-4/+4
| | | | | | Fixes rdar://10433202 llvm-svn: 144938
* Fixup comment.Eric Christopher2011-11-141-1/+1
| | | | llvm-svn: 144548
* Reflow lines, remove else-if after returns, rename variable "TydefContext" toNick Lewycky2011-11-101-14/+9
| | | | | | "TypedefContext". No functionality change. llvm-svn: 144248
* Reflow one line I missed in previous cleanup commit. No functionality change.Nick Lewycky2011-11-091-2/+1
| | | | llvm-svn: 144168
* Minor cleanup, mostly reindenting. Remove one helper function that just calledNick Lewycky2011-11-091-21/+15
| | | | | | | the other helper functions, since we already differentiated the cases it was testing between. No functionality change. llvm-svn: 144167
* Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it willRichard Smith2011-10-291-1/+2
| | | | | | | | implicitly perform an lvalue-to-rvalue conversion if used on an lvalue expression. Also improve the documentation of Expr::Evaluate* to indicate which of them will accept expressions with side-effects. llvm-svn: 143263
* In case of template specialization, do not try to delay emitting debug info ↵Devang Patel2011-10-281-5/+21
| | | | | | for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite. llvm-svn: 143227
* Do not drop type qualifiers in -flimit-debug-info mode.Devang Patel2011-10-241-1/+7
| | | | llvm-svn: 142873
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-211-0/+3
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Macro metaprogramming for builtin types.John McCall2011-10-181-9/+5
| | | | llvm-svn: 142420
* Add a new placeholder type to represent "unbridged"John McCall2011-10-171-0/+2
| | | | | | | | casts in ARC. No semantic analysis yet. llvm-svn: 142208
* Provide half floating point support as a storage only type.Anton Korobeynikov2011-10-141-0/+1
| | | | | | Lack of half FP was a regression compared to llvm-gcc. llvm-svn: 142016
* Simplify code to avoid a useless string copy.Benjamin Kramer2011-10-141-6/+4
| | | | llvm-svn: 141970
* Upgrade to PathV2.Benjamin Kramer2011-10-141-5/+5
| | | | llvm-svn: 141969
* Add parens to pacify GCC.Benjamin Kramer2011-10-141-2/+2
| | | | llvm-svn: 141968
* Recommit:Eric Christopher2011-10-131-84/+74
| | | | | | | | | | | | | | | 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-73/+83
| | | | llvm-svn: 141796
* Remember to set the location in EmitGlobalVariable to the current declEric Christopher2011-10-121-0/+2
| | | | | | if we're going to delete the setLocation as we did in 141732. llvm-svn: 141762
* Start handling debug line and scope information better:Eric Christopher2011-10-111-83/+71
| | | | | | | | | | | 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
* 80-column and tab cleanup.Eric Christopher2011-10-111-13/+20
| | | | llvm-svn: 141731
* Reorder this to make it easier to add more changes for a location set.Eric Christopher2011-10-111-2/+4
| | | | llvm-svn: 141730
* Constant expression evaluation refactoring:Richard Smith2011-10-101-10/+14
| | | | | | | | | | | - 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/+10
| | | | | | | | 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
* When constructing debug information for synthesized variables for theEric Christopher2011-10-061-3/+8
| | | | | | | | | | non-fragile ABI we may not be able to lay out the type and the debugger would ignore us even if we did put in the offset. Go ahead and just put any value there and don't look up the offset since it may not exist. rdar://10210157 llvm-svn: 141261
* Reformat comment.Eric Christopher2011-10-061-6/+6
| | | | llvm-svn: 141260
* Allow getting all source locations of selector identifiers in a ObjCMethodDecl.Argyrios Kyrtzidis2011-10-031-1/+1
| | | | | | | | | | | | | Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: -(id)first:(int)x second:(int)y; -With a space between the arguments: -(id)first: (int)x second: (int)y; -For nullary selectors, immediately before ';': -(void)release; In such cases we infer the locations instead of storing them. llvm-svn: 140989
* Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher2011-09-291-33/+33
| | | | | | correspond to. llvm-svn: 140740
* Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher2011-09-291-2/+4
| | | | | | exist anymore. llvm-svn: 140739
* Reorder functions in the file.Eric Christopher2011-09-291-31/+30
| | | | llvm-svn: 140738
* Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher2011-09-291-0/+4
| | | | | | | point in the code. Ensures that we don't miss any places and the check is reasonably cheap. llvm-svn: 140737
* Update comment.Eric Christopher2011-09-291-1/+2
| | | | llvm-svn: 140736
* Update comments.Eric Christopher2011-09-261-3/+3
| | | | llvm-svn: 140531
* Create a VTableContext class and start moving CodeGenVTables methods to itPeter Collingbourne2011-09-261-2/+3
| | | | llvm-svn: 140502
OpenPOWER on IntegriCloud