summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Ensure we only generate one terminate handler.Mike Stump2009-12-103-2/+8
| | | | llvm-svn: 90998
* Remove obsolete FIXME and some dead fallback code.Mike Stump2009-12-091-6/+0
| | | | llvm-svn: 90997
* Add terminate handler to cleanups on exceptional edges.Mike Stump2009-12-091-3/+2
| | | | llvm-svn: 90996
* Code gen for ObjCIsaExpr AST used as lvalue.Fariborz Jahanian2009-12-093-15/+24
| | | | | | (fixes radar 7457534). llvm-svn: 90995
* Add terminate handler for copy constructors for thrown objects. WIP.Mike Stump2009-12-091-2/+16
| | | | llvm-svn: 90994
* Break out code for reuse. WIP.Mike Stump2009-12-092-22/+41
| | | | llvm-svn: 90991
* Add throw support. WIP.Mike Stump2009-12-091-1/+1
| | | | llvm-svn: 90982
* Codegen. support for ObjCIsaExpr AST which until nowFariborz Jahanian2009-12-091-0/+19
| | | | | | was not needed (fixes radar 7453430). llvm-svn: 90981
* Add cleanups for exceptional edges. WIP.Mike Stump2009-12-095-37/+177
| | | | llvm-svn: 90940
* Fix for PR5709: use the computed type of the declaration instead of theEli Friedman2009-12-091-6/+1
| | | | | | | type of the builtin when generating the function declaration for a builtin library call. llvm-svn: 90936
* More detailed analysis of typecast to an objective-c pointerFariborz Jahanian2009-12-081-0/+1
| | | | | | in objective-c++ mode without being too lenient. llvm-svn: 90895
* Add fixme.Mike Stump2009-12-081-0/+1
| | | | llvm-svn: 90884
* Remove some old code. WIP.Mike Stump2009-12-081-5/+0
| | | | llvm-svn: 90882
* Update CGExprConstant for change to emit padding values as undef.Daniel Dunbar2009-12-081-1/+5
| | | | | | - This fixes 2003-05-21-BitfieldHandling. llvm-svn: 90876
* Use StringRef in CGDebugInfo::EmitFunctionStart.Benjamin Kramer2009-12-084-9/+6
| | | | llvm-svn: 90856
* Use a Twine to concatenate the name instead of going through std::string.Benjamin Kramer2009-12-081-3/+1
| | | | llvm-svn: 90854
* Use Path.makeAbsolute() and make a constant std::string a const char*.Benjamin Kramer2009-12-081-7/+3
| | | | llvm-svn: 90851
* DeclRefExpr stores a ValueDecl internally.John McCall2009-12-081-1/+1
| | | | | | Template instantiation can re-use DeclRefExprs. llvm-svn: 90848
* Build fix.Eli Friedman2009-12-081-1/+1
| | | | llvm-svn: 90841
* Fix for PR5707: make sure implicit copy constructors initialize the vtableEli Friedman2009-12-082-0/+8
| | | | | | pointer. llvm-svn: 90840
* Slight tweak to vtable linkage.Eli Friedman2009-12-081-1/+1
| | | | llvm-svn: 90832
* Misc key function fixes.Eli Friedman2009-12-081-0/+10
| | | | llvm-svn: 90831
* Fix some direct checks of expressions which might be surrounded by parentheses.Eli Friedman2009-12-082-4/+5
| | | | llvm-svn: 90825
* Make copy assignment operator synthesis not explode for classes with complexEli Friedman2009-12-081-2/+10
| | | | | | | | | | | | or non-record aggregate members. It might be worth spending some time to optimize this code (and the parallel code for copy constructors) to memcpy in larger chunks, rather than copying one member at a time. Not sure exactly how beneficial that would be, but it seems like could help for large classes with, for example, a vtable pointer forcing the generation of a copy constructor. llvm-svn: 90823
* Remove several .c_str() to be forward-compatible with StringRef.Jeffrey Yasskin2009-12-081-2/+2
| | | | llvm-svn: 90822
* Fixup catch parameters with class reference type. WIP.Mike Stump2009-12-081-1/+1
| | | | llvm-svn: 90821
* No need to add tail padding if the resulting LLVM struct type will have the ↵Anders Carlsson2009-12-081-2/+8
| | | | | | same size as the final record size. llvm-svn: 90820
* A bunch more thunk fixes from misc testing.Eli Friedman2009-12-074-54/+72
| | | | | | (Yes, I do intend to commit some tests for this.) llvm-svn: 90818
* Add codegen support for exception specifications. WIP.Mike Stump2009-12-073-0/+127
| | | | llvm-svn: 90817
* Correctly handle conditional operators involving throw.Eli Friedman2009-12-071-4/+5
| | | | llvm-svn: 90800
* Make the comma operator consistently call EnsureInsertPoint.Eli Friedman2009-12-071-0/+1
| | | | llvm-svn: 90799
* Work around emitters that can't deal with dead code contexts yet.Mike Stump2009-12-071-0/+4
| | | | llvm-svn: 90796
* Mangle basic_ostream and basic_iostream specializations.Anders Carlsson2009-12-071-12/+34
| | | | llvm-svn: 90794
* Remove obsolete fallback code for objectsize.Mike Stump2009-12-071-10/+0
| | | | llvm-svn: 90780
* implement PR5274: mark 'restrict' parameters as noaliasNuno Lopes2009-12-071-0/+3
| | | | llvm-svn: 90778
* It's OK to try to emit a vtable definition more than once. Fixes PR5697.Anders Carlsson2009-12-071-2/+7
| | | | llvm-svn: 90751
* Erm, revert for the moment; I didn't test this as thoroughly as I should haveEli Friedman2009-12-071-3/+3
| | | | | | (although it does pass regression tests). llvm-svn: 90747
* Tweak the formula for non-virtual offsets to something which appears a bitEli Friedman2009-12-071-3/+3
| | | | | | more accurate. llvm-svn: 90746
* Move key functions to a separate map.Anders Carlsson2009-12-071-3/+1
| | | | llvm-svn: 90745
* Be a bit more complete about accumulating SavedThisAdjustments.Eli Friedman2009-12-061-2/+4
| | | | llvm-svn: 90723
* Work-in-progess rewrite of thunks: move thunk generation outside of vtableEli Friedman2009-12-065-9/+183
| | | | | | | generation, and make sure we generate thunks when the function is defined rather than when the vtable is defined. llvm-svn: 90722
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-063-128/+172
| | | | llvm-svn: 90711
* use new helpers to simplify code.Chris Lattner2009-12-061-8/+4
| | | | llvm-svn: 90709
* Set the correct linkage for VTTs as well.Anders Carlsson2009-12-063-61/+42
| | | | llvm-svn: 90689
* More linkage improvements.Anders Carlsson2009-12-062-15/+32
| | | | llvm-svn: 90687
* Pass the desired vtable linkage to GenerateVtable directly. Only call ↵Anders Carlsson2009-12-062-26/+13
| | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686
* Make GenerateVtable a private member function of CGVtableInfo.Anders Carlsson2009-12-063-36/+35
| | | | llvm-svn: 90684
* Only emit the vtable definition if the class has a key function and we're ↵Anders Carlsson2009-12-051-32/+22
| | | | | | emitting it, or if the class doesn't have a key function and we are emitting the complete constructor. llvm-svn: 90681
* If a class does not have a key function, its linkage should be weak_odr.Anders Carlsson2009-12-051-2/+2
| | | | llvm-svn: 90680
* Use createGlobalVariable for creating vtable variables too.Anders Carlsson2009-12-051-42/+36
| | | | llvm-svn: 90679
OpenPOWER on IntegriCloud