summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Constify the getClassName routine and variables that come out of it,Eric Christopher2012-02-081-4/+7
| | | | | | | | and then use it for forward decl names. Part of rdar://10209967 and rdar://10400981 llvm-svn: 150040
* Use the new forward declaration scheme for records. Also add moreEric Christopher2012-02-081-18/+22
| | | | | | | | caching of results after we create them. Fixes rdar://10809898 llvm-svn: 150025
* Remove tabs.Devang Patel2012-02-081-18/+18
| | | | llvm-svn: 150021
* Revert my patches which removed Diagnostic.h includes by moving some ↵Benjamin Kramer2012-02-071-2/+1
| | | | | | | | | | | | | | | | | | operator overloads out of line. This seems to negatively affect compile time onsome ObjC tests (which use a lot of partial diagnostics I assume). I have to come up with a way to keep them inline without including Diagnostic.h everywhere. Now adding a new diagnostic requires a full rebuild of e.g. the static analyzer which doesn't even use those diagnostics. This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99. This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789. This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7. This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f. This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5. llvm-svn: 150006
* Remove tabs.Devang Patel2012-02-071-5/+5
| | | | llvm-svn: 149996
* Emit debug info for properites that are not backed by an ivar.Devang Patel2012-02-071-19/+21
| | | | llvm-svn: 149995
* simplify a bunch of code to use the well-known LLVM IR types computed by ↵Chris Lattner2012-02-071-2/+2
| | | | | | CodeGenModule. llvm-svn: 149943
* Relax valid location check. This fixes a clang crash while emitting debug ↵Devang Patel2012-02-061-2/+4
| | | | | | info for properties that are synthesized by the compiler by default. llvm-svn: 149929
* Let an ivar directly refer property TAG.Devang Patel2012-02-061-2/+1
| | | | llvm-svn: 149881
* Basic: import SmallString<> into clang namespaceDylan Noblesmith2012-02-051-3/+3
| | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
* Move various diagnostic operator<< overloads out of line and remove includes ↵Benjamin Kramer2012-02-041-1/+2
| | | | | | | | | of Diagnostic.h. Fix all the files that depended on transitive includes of Diagnostic.h. With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer. llvm-svn: 149781
* Create new tag for the property. This is a work in progress.Devang Patel2012-02-041-1/+7
| | | | llvm-svn: 149734
* unnecessary include of TargetMachine.h?Andrew Trick2012-02-021-1/+0
| | | | llvm-svn: 149638
* r149474 went a bit too far when combined with type caching. If we wantEric Christopher2012-02-011-2/+5
| | | | | | | | | a full type go ahead and emit it if we currently only have a forward declaration. Fixes gdb bots for gdb1090.exp and call-ar-st.exp. llvm-svn: 149560
* Remove duplicated comment.Eric Christopher2012-02-011-1/+0
| | | | llvm-svn: 149544
* For pass-by-value record arguments to functions emit a forward declEric Christopher2012-02-011-3/+64
| | | | | | instead of the entire class definition. llvm-svn: 149474
* Use createRecordFwdDecl here since that's what we're doing.Eric Christopher2012-01-261-9/+2
| | | | llvm-svn: 149051
* Revert previous patch unifying all of the C++ record prep in one area,Eric Christopher2012-01-261-6/+11
| | | | | | | | | the gdb testsuite complains too much about the ordering of items printed, even if the offsets in the debug info are correct. This reverts commit 027cb30af828f07750f9185782822297a5c57231. llvm-svn: 149049
* 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
OpenPOWER on IntegriCloud