summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup.Mike Stump2009-08-121-3/+1
| | | | llvm-svn: 78855
* Refactor.Mike Stump2009-08-121-19/+19
| | | | llvm-svn: 78854
* Refactor.Mike Stump2009-08-121-2/+5
| | | | llvm-svn: 78851
* Patch for synthesizing copy assignment operator.Fariborz Jahanian2009-08-121-0/+26
| | | | | | WIP. llvm-svn: 78841
* Improve the secondary vtables to not include vbase offsets. WIP.Mike Stump2009-08-121-13/+15
| | | | llvm-svn: 78831
* Refine vtable building for the secondary vtables to exclude yet moreMike Stump2009-08-121-6/+12
| | | | | | | cases where a virtual base was already used as a primary base class. WIP. llvm-svn: 78820
* ir-gen support for anonymous union data memberFariborz Jahanian2009-08-111-9/+10
| | | | | | | copying in copy constructors and used in default constructor's initializer list. llvm-svn: 78700
* Implement more of the inductive case for vtable layout involvingMike Stump2009-08-111-26/+45
| | | | | | | | | | | | | | | | | | | | | | | | virtual base primaries and improve the layout of classes with virtual bases. WIP. Hey, I've decided I want a change to FileCheck, I need to ensure that the group is together, nothing in between. Can we change it to check the match line is from the line immediately following the last matched line, if the source for the matched line is immediately after the source for the previously matched line? // CHECK: 1 // CHECK: 2 // CHECK: 3 // CHECK: 4 // CHECK: 5 // CHECK: 6 would require 1 2 and 3 to be continuous in the output, and 4 5 and 6 to be continuous. llvm-svn: 78638
* Support for anonymous union in ctor's initializer andFariborz Jahanian2009-08-101-6/+9
| | | | | | bunch of FIXMEs for their is-gen. llvm-svn: 78623
* minor refactoring. No change otherwise.Fariborz Jahanian2009-08-101-1/+12
| | | | llvm-svn: 78582
* ir-gen for generating copying of scalar data members inFariborz Jahanian2009-08-101-1/+5
| | | | | | a synthesized copy constructor. llvm-svn: 78580
* Fixed a ir-gen bug in synthesizing copy constructors.Fariborz Jahanian2009-08-101-1/+1
| | | | llvm-svn: 78570
* Older GCCs don't have vector::data().Benjamin Kramer2009-08-081-1/+1
| | | | llvm-svn: 78519
* ir-gen for initialization, in synthesize copy constructor, Fariborz Jahanian2009-08-081-12/+14
| | | | | | of base/field which have trivial copy constructor. llvm-svn: 78516
* Add support for global initializers.Anders Carlsson2009-08-081-0/+35
| | | | llvm-svn: 78515
* Refactor some code and implement support for global destructors for static ↵Anders Carlsson2009-08-081-12/+70
| | | | | | variables. llvm-svn: 78507
* Refactoring of copy ctor ir-gen. No change in functionality.Fariborz Jahanian2009-08-081-3/+7
| | | | llvm-svn: 78489
* Remove use of uninitized variable.Fariborz Jahanian2009-08-081-2/+1
| | | | llvm-svn: 78448
* Synthesize copying of non-static data members withFariborz Jahanian2009-08-081-12/+32
| | | | | | non-trivial copy constructors. llvm-svn: 78445
* Synthesized copy constructor now generates code forFariborz Jahanian2009-08-071-16/+48
| | | | | | | copying non-virtual base classes which have non-trivial constructor. Work in progress. llvm-svn: 78436
* Add vbase offsets to the vtable. Wow, having an rbegin was soMike Stump2009-08-071-0/+12
| | | | | | fortuitous. WIP. llvm-svn: 78413
* More synthesis of copy constructors. Work in progress.Fariborz Jahanian2009-08-071-0/+47
| | | | llvm-svn: 78402
* Fix typo.Mike Stump2009-08-071-1/+1
| | | | llvm-svn: 78401
* Add ability to generate vcall offsets for primary virtual base.Mike Stump2009-08-071-1/+3
| | | | llvm-svn: 78396
* Fix some const_cast issues. This is the beginning of the rabbit hole.Mike Stump2009-08-071-6/+2
| | | | llvm-svn: 78393
* Add support for vcall generation for vtables for virtual bases. WIP.Mike Stump2009-08-061-4/+24
| | | | llvm-svn: 78357
* Also generate the rtti field for virtual bases for vtables. Turn onMike Stump2009-08-061-29/+40
| | | | | | | rtti so we can properly test it. Refactor code a little. Still a work in progress. llvm-svn: 78343
* Set and use Elidable in elimination of copy ctors.Fariborz Jahanian2009-08-061-9/+3
| | | | llvm-svn: 78331
* Layout the primary base first in the vtable.Mike Stump2009-08-061-21/+14
| | | | llvm-svn: 78327
* More layout for virtual tables for virtual bases. Still in progress.Mike Stump2009-08-061-9/+26
| | | | llvm-svn: 78314
* Layout virtual bases. Work in progress.Mike Stump2009-08-061-3/+1
| | | | llvm-svn: 78308
* Patch to optimize away copy constructor call whenFariborz Jahanian2009-08-061-1/+14
| | | | | | appropriate. llvm-svn: 78267
* Refactor some bits.Mike Stump2009-08-051-1/+1
| | | | llvm-svn: 78254
* Calculate the primary base class better and use that when laying downMike Stump2009-08-051-11/+36
| | | | | | the vtable. Still a work in progress. llvm-svn: 78252
* vtable building for simple inheritance. Still in progress.Mike Stump2009-08-041-1/+18
| | | | llvm-svn: 78110
* Will I ever get used to CamelCase? Will I ever like capitols forMike Stump2009-08-041-7/+5
| | | | | | | | | random variables? --This line, and those below, will be ignored-- M lib/CodeGen/CGCXX.cpp llvm-svn: 78094
* Add beginnigs of rtti generation, wire up more of -fno-exceptions.Mike Stump2009-07-311-5/+36
| | | | llvm-svn: 77751
* And now we can generate a simple vtable. Still a work in progress...Mike Stump2009-07-311-11/+23
| | | | llvm-svn: 77737
* Update for LLVM API change.Owen Anderson2009-07-311-4/+4
| | | | llvm-svn: 77722
* Add code to setup the vtable pointer in the constructor. Work in progress.Mike Stump2009-07-311-6/+51
| | | | llvm-svn: 77699
* Update for LLVM API changes.Owen Anderson2009-07-301-1/+1
| | | | llvm-svn: 77638
* Canonicalize else spacing.Mike Stump2009-07-301-4/+2
| | | | llvm-svn: 77629
* Note some other limitations.Mike Stump2009-07-301-1/+9
| | | | llvm-svn: 77626
* Patch for future ir-gen for destructor calls.Fariborz Jahanian2009-07-301-1/+41
| | | | llvm-svn: 77608
* ir-gen for nested non-virtual base member accessFariborz Jahanian2009-07-301-5/+47
| | | | | | in current class. llvm-svn: 77554
* Update for LLVM API change.Owen Anderson2009-07-291-3/+3
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510
* Use the existing API for base offset. Use suitable llvm typeFariborz Jahanian2009-07-291-20/+4
| | | | | | for offset ir-gen. llvm-svn: 77458
* More cleanup of data member access and then some.Fariborz Jahanian2009-07-281-2/+9
| | | | llvm-svn: 77351
* Some code cleanup.Fariborz Jahanian2009-07-281-24/+9
| | | | llvm-svn: 77339
OpenPOWER on IntegriCloud