Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add beginnigs of rtti generation, wire up more of -fno-exceptions. | Mike Stump | 2009-07-31 | 4 | -5/+53 |
| | | | | llvm-svn: 77751 | ||||
* | Remove the old struct builder code. | Anders Carlsson | 2009-07-31 | 1 | -177/+1 |
| | | | | llvm-svn: 77738 | ||||
* | And now we can generate a simple vtable. Still a work in progress... | Mike Stump | 2009-07-31 | 1 | -11/+23 |
| | | | | llvm-svn: 77737 | ||||
* | Move code from EmitUnion directly into the function that handles cast-to-union. | Anders Carlsson | 2009-07-31 | 1 | -2/+28 |
| | | | | llvm-svn: 77735 | ||||
* | Use the struct builder for unions. | Anders Carlsson | 2009-07-31 | 1 | -0/+2 |
| | | | | llvm-svn: 77732 | ||||
* | Fixup spacing and 80-col violations. | Mike Stump | 2009-07-31 | 1 | -20/+27 |
| | | | | llvm-svn: 77731 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 14 | -84/+84 |
| | | | | llvm-svn: 77722 | ||||
* | Add code to setup the vtable pointer in the constructor. Work in progress. | Mike Stump | 2009-07-31 | 5 | -11/+72 |
| | | | | llvm-svn: 77699 | ||||
* | Fix spacing. | Mike Stump | 2009-07-31 | 1 | -1/+1 |
| | | | | llvm-svn: 77688 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 3 | -10/+10 |
| | | | | llvm-svn: 77686 | ||||
* | Synthesize the default constructor which has not | Fariborz Jahanian | 2009-07-30 | 2 | -1/+19 |
| | | | | | | been declared as needed. llvm-svn: 77641 | ||||
* | Update for LLVM API changes. | Owen Anderson | 2009-07-30 | 7 | -23/+23 |
| | | | | llvm-svn: 77638 | ||||
* | Canonicalize else spacing. | Mike Stump | 2009-07-30 | 10 | -70/+33 |
| | | | | llvm-svn: 77629 | ||||
* | Note some other limitations. | Mike Stump | 2009-07-30 | 1 | -1/+9 |
| | | | | llvm-svn: 77626 | ||||
* | Patch for future ir-gen for destructor calls. | Fariborz Jahanian | 2009-07-30 | 3 | -2/+49 |
| | | | | llvm-svn: 77608 | ||||
* | Remove bogus "unsupported" case for vectors (which shouldn't | Eli Friedman | 2009-07-30 | 1 | -2/+1 |
| | | | | | | | | | | ever trigger). Add an "unsupported" case that triggers for C++ code. It would be nice if someone would implement this properly... it shouldn't be too hard, but I haven't looked closely at the relevant code. llvm-svn: 77562 | ||||
* | Add ability to layout the vtable pointer in trivial cases. I noticed | Mike Stump | 2009-07-30 | 1 | -2/+0 |
| | | | | | | | | that we would silently do bad things with virtual bases in the layout code, so, we just turn them off. When people do better things with them, we can turn them back on. llvm-svn: 77556 | ||||
* | ir-gen for nested non-virtual base member access | Fariborz Jahanian | 2009-07-30 | 1 | -5/+47 |
| | | | | | | in current class. llvm-svn: 77554 | ||||
* | Eliminate an unused-variable warning | Douglas Gregor | 2009-07-29 | 1 | -1/+0 |
| | | | | llvm-svn: 77518 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 13 | -319/+314 |
| | | | | llvm-svn: 77514 | ||||
* | Change uses of: | Ted Kremenek | 2009-07-29 | 11 | -31/+31 |
| | | | | | | | | | | | | | | | | | | | | 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 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 7 | -93/+93 |
| | | | | llvm-svn: 77492 | ||||
* | No longer need to keep base class offsets in the offset | Fariborz Jahanian | 2009-07-29 | 2 | -7/+0 |
| | | | | | | table as it has its own place now. llvm-svn: 77491 | ||||
* | Patch to provide cast of objects in member access | Fariborz Jahanian | 2009-07-29 | 1 | -16/+0 |
| | | | | | | | excpression, if needed, and remove some ir-gen code now unnencessary. llvm-svn: 77490 | ||||
* | Use the existing API for base offset. Use suitable llvm type | Fariborz Jahanian | 2009-07-29 | 1 | -20/+4 |
| | | | | | | for offset ir-gen. llvm-svn: 77458 | ||||
* | Code refactoring to define getCXXRecordDeclForPointerType | Fariborz Jahanian | 2009-07-29 | 2 | -22/+14 |
| | | | | | | and use it in several places. llvm-svn: 77411 | ||||
* | ir-gen derived-to-base conversion in implicit casts. | Fariborz Jahanian | 2009-07-28 | 1 | -1/+15 |
| | | | | llvm-svn: 77374 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-28 | 3 | -11/+11 |
| | | | | llvm-svn: 77368 | ||||
* | Remove the old RecordOrganizer. | Anders Carlsson | 2009-07-28 | 1 | -151/+0 |
| | | | | llvm-svn: 77365 | ||||
* | More cleanup of data member access and then some. | Fariborz Jahanian | 2009-07-28 | 2 | -10/+25 |
| | | | | llvm-svn: 77351 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-28 | 4 | -37/+37 |
| | | | | llvm-svn: 77349 | ||||
* | add some fixme's | Chris Lattner | 2009-07-28 | 1 | -2/+2 |
| | | | | llvm-svn: 77343 | ||||
* | Some code cleanup. | Fariborz Jahanian | 2009-07-28 | 2 | -26/+11 |
| | | | | llvm-svn: 77339 | ||||
* | More CGRecordLayoutBuilder cleanup. | Anders Carlsson | 2009-07-28 | 2 | -33/+12 |
| | | | | llvm-svn: 77335 | ||||
* | More work toward data member access ir-gen. | Fariborz Jahanian | 2009-07-28 | 3 | -0/+54 |
| | | | | llvm-svn: 77332 | ||||
* | Allow functions to be marked "implicit return zero" and so mark main(). | John McCall | 2009-07-28 | 1 | -0/+13 |
| | | | | | | Codegen by initializing the return value with its LLVM type's null value. llvm-svn: 77288 | ||||
* | Patch for objc's zero-const exception to not assume | Fariborz Jahanian | 2009-07-27 | 1 | -11/+10 |
| | | | | | | | that @catch(...) cathces all exceptions (c++ objects are not cought by that). llvm-svn: 77270 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-27 | 5 | -52/+50 |
| | | | | llvm-svn: 77267 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-27 | 4 | -12/+14 |
| | | | | llvm-svn: 77249 | ||||
* | Some minor changes toward support of data | Fariborz Jahanian | 2009-07-27 | 3 | -0/+23 |
| | | | | | | member access in the presense of non-virtual bases. llvm-svn: 77246 | ||||
* | Use DICompositeType->replaceAllUsesWith() | Devang Patel | 2009-07-27 | 1 | -4/+3 |
| | | | | llvm-svn: 77228 | ||||
* | Use the CGRecordLayoutBuilder even if there are no fields, because in C++ an ↵ | Anders Carlsson | 2009-07-27 | 1 | -27/+18 |
| | | | | | | empty class will have a padding byte. llvm-svn: 77205 | ||||
* | Enable the new struct type builder now that the constant struct builder ↵ | Anders Carlsson | 2009-07-27 | 1 | -3/+0 |
| | | | | | | works. (The old code will still be there until we know that everything works well. llvm-svn: 77190 | ||||
* | Fix a tail padding bug in the record layout builder code. The bug was found ↵ | Anders Carlsson | 2009-07-27 | 2 | -6/+19 |
| | | | | | | by an existing test. llvm-svn: 77189 | ||||
* | Enable the new constant struct builder by default. The old code is still in ↵ | Anders Carlsson | 2009-07-27 | 1 | -3/+4 |
| | | | | | | place but will be removed shortly. The new struct builder works on big endian systems. llvm-svn: 77185 | ||||
* | More work on the constant struct builder, fix a couple of thinkos and add ↵ | Anders Carlsson | 2009-07-27 | 1 | -9/+59 |
| | | | | | | support for inserting part of a bitfield in the previous byte. llvm-svn: 77180 | ||||
* | More work on bitfield support in the new constant struct builder. | Anders Carlsson | 2009-07-27 | 1 | -2/+79 |
| | | | | llvm-svn: 77177 | ||||
* | Switch to getName() | Daniel Dunbar | 2009-07-26 | 1 | -1/+1 |
| | | | | llvm-svn: 77151 | ||||
* | Switch to using llvm::Value::getName() | Daniel Dunbar | 2009-07-26 | 2 | -4/+3 |
| | | | | llvm-svn: 77147 | ||||
* | ir-gen for non-virtual base class initialization | Fariborz Jahanian | 2009-07-25 | 2 | -4/+38 |
| | | | | | | in constructors. llvm-svn: 77087 |