Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move the vtable builder to CGVtable.cpp, general cleanup. | Anders Carlsson | 2009-10-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 83798 | |||||
* | Pass the canonical method decl to GetVtableIndex. Fixes PR5120. | Anders Carlsson | 2009-10-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 83272 | |||||
* | Handle base-to-derived casts of member function pointers in CGExprConstant.cpp | Anders Carlsson | 2009-10-03 | 1 | -0/+37 | |
| | | | | llvm-svn: 83265 | |||||
* | Handle members to function pointers in CGExprConstant. | Anders Carlsson | 2009-10-03 | 1 | -0/+43 | |
| | | | | llvm-svn: 83264 | |||||
* | Don't update the struct alignment when adding fields to a packed struct. ↵ | Anders Carlsson | 2009-10-02 | 1 | -1/+6 | |
| | | | | | | Fixes PR5118. llvm-svn: 83235 | |||||
* | When building constant structs, check if the resulting LLVM struct will be ↵ | Anders Carlsson | 2009-10-02 | 1 | -38/+59 | |
| | | | | | | bigger than the record layout size and use a packed struct if that's the case. Fixes PR5108. llvm-svn: 83230 | |||||
* | Improve support for member function pointers. | Anders Carlsson | 2009-09-29 | 1 | -2/+9 | |
| | | | | llvm-svn: 83039 | |||||
* | Make clang stop relying on ConstantStruct::get's default value for isPacked | Nick Lewycky | 2009-09-19 | 1 | -2/+4 | |
| | | | | | | which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323 | |||||
* | GlobalDecl doesn't have an explicit constructor anymore. | Anders Carlsson | 2009-09-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 81481 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -135/+135 | |
| | | | | llvm-svn: 81346 | |||||
* | Make address-space qualification work correctly for compound literals. | Eli Friedman | 2009-08-26 | 1 | -2/+3 | |
| | | | | | | | | | | Issue reported on cfe-dev. Also fixed the code to use isConstant to determine whether to generate a constant global, to be consistent with CodeGenModule. This probably needs to be refactored to deal with C++, though. llvm-svn: 80131 | |||||
* | More member pointer work. | Anders Carlsson | 2009-08-24 | 1 | -5/+11 | |
| | | | | llvm-svn: 79922 | |||||
* | Whoops, comment this out for now. I'll fix it shortly. | Anders Carlsson | 2009-08-23 | 1 | -0/+2 | |
| | | | | llvm-svn: 79806 | |||||
* | More work towards zero-initializing structs that contain member pointers in ↵ | Anders Carlsson | 2009-08-23 | 1 | -0/+8 | |
| | | | | | | constant expressions. llvm-svn: 79805 | |||||
* | Handle CK_NullToMemberPointer casts in the constant expr emitter. | Anders Carlsson | 2009-08-23 | 1 | -0/+2 | |
| | | | | llvm-svn: 79790 | |||||
* | Change the constant expression emitter to look at the cast kind for to-union ↵ | Anders Carlsson | 2009-08-22 | 1 | -14/+19 | |
| | | | | | | casts. llvm-svn: 79789 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -11/+14 | |
| | | | | llvm-svn: 78946 | |||||
* | Improve handling of member pointers. | Anders Carlsson | 2009-08-09 | 1 | -2/+22 | |
| | | | | llvm-svn: 78536 | |||||
* | Fix clang breakage, CGF can be null in this context. | Daniel Dunbar | 2009-08-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 78269 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-05 | 1 | -5/+8 | |
| | | | | llvm-svn: 78259 | |||||
* | use CodeGenModule::EmitNullConstant in a couple of places. | Anders Carlsson | 2009-08-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 77915 | |||||
* | Fix a minor issue with unions in the new struct building code. | Eli Friedman | 2009-08-01 | 1 | -2/+5 | |
| | | | | llvm-svn: 77829 | |||||
* | Remove the old struct builder code. | Anders Carlsson | 2009-07-31 | 1 | -177/+1 | |
| | | | | llvm-svn: 77738 | |||||
* | 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 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 1 | -9/+9 | |
| | | | | llvm-svn: 77722 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 1 | -8/+8 | |
| | | | | llvm-svn: 77514 | |||||
* | Change uses of: | Ted Kremenek | 2009-07-29 | 1 | -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 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 1 | -12/+12 | |
| | | | | llvm-svn: 77492 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 77368 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-28 | 1 | -4/+4 | |
| | | | | llvm-svn: 77349 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-27 | 1 | -6/+6 | |
| | | | | llvm-svn: 77267 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-27 | 1 | -4/+6 | |
| | | | | llvm-svn: 77249 | |||||
* | 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 | |||||
* | More work on the constant struct builder. We can now convert the struct to a ↵ | Anders Carlsson | 2009-07-25 | 1 | -3/+40 | |
| | | | | | | packed struct when necessary. llvm-svn: 77038 | |||||
* | More work on the constant struct builder. We now try to layout all constant ↵ | Anders Carlsson | 2009-07-25 | 1 | -6/+19 | |
| | | | | | | structs but throw away the result. llvm-svn: 77021 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-24 | 1 | -7/+10 | |
| | | | | llvm-svn: 77012 | |||||
* | Fix a release build warning. | Anders Carlsson | 2009-07-24 | 1 | -1/+1 | |
| | | | | llvm-svn: 76985 | |||||
* | Check in a half finished new constant struct builder (Obviously not used yet). | Anders Carlsson | 2009-07-24 | 1 | -0/+146 | |
| | | | | llvm-svn: 76969 | |||||
* | Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵ | Anders Carlsson | 2009-07-23 | 1 | -10/+10 | |
| | | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882 | |||||
* | Use arrays as union padding. Also, since the resulting struct will always ↵ | Anders Carlsson | 2009-07-23 | 1 | -7/+10 | |
| | | | | | | contain a single element and either a single i8 element or an array of i8s, there's no reason to use a packed struct. llvm-svn: 76854 | |||||
* | Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods | Ted Kremenek | 2009-07-17 | 1 | -2/+2 | |
| | | | | | | | | | until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. llvm-svn: 76193 | |||||
* | Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), ↵ | Ted Kremenek | 2009-07-17 | 1 | -2/+2 | |
| | | | | | | Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139 | |||||
* | Update for LLVM API change, and contextify a bunch of related stuff. | Owen Anderson | 2009-07-14 | 1 | -46/+48 | |
| | | | | llvm-svn: 75705 | |||||
* | Update for API change. | Owen Anderson | 2009-07-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 75569 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-13 | 1 | -7/+8 | |
| | | | | llvm-svn: 75446 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 75028 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 74986 |