summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Add beginnigs of rtti generation, wire up more of -fno-exceptions.Mike Stump2009-07-314-5/+53
| | | | llvm-svn: 77751
* Remove the old struct builder code.Anders Carlsson2009-07-311-177/+1
| | | | llvm-svn: 77738
* And now we can generate a simple vtable. Still a work in progress...Mike Stump2009-07-311-11/+23
| | | | llvm-svn: 77737
* Move code from EmitUnion directly into the function that handles cast-to-union.Anders Carlsson2009-07-311-2/+28
| | | | llvm-svn: 77735
* Use the struct builder for unions.Anders Carlsson2009-07-311-0/+2
| | | | llvm-svn: 77732
* Fixup spacing and 80-col violations.Mike Stump2009-07-311-20/+27
| | | | llvm-svn: 77731
* Update for LLVM API change.Owen Anderson2009-07-3114-84/+84
| | | | llvm-svn: 77722
* Add code to setup the vtable pointer in the constructor. Work in progress.Mike Stump2009-07-315-11/+72
| | | | llvm-svn: 77699
* Fix spacing.Mike Stump2009-07-311-1/+1
| | | | llvm-svn: 77688
* Update for LLVM API change.Owen Anderson2009-07-313-10/+10
| | | | llvm-svn: 77686
* Synthesize the default constructor which has notFariborz Jahanian2009-07-302-1/+19
| | | | | | been declared as needed. llvm-svn: 77641
* Update for LLVM API changes.Owen Anderson2009-07-307-23/+23
| | | | llvm-svn: 77638
* Canonicalize else spacing.Mike Stump2009-07-3010-70/+33
| | | | 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-303-2/+49
| | | | llvm-svn: 77608
* Remove bogus "unsupported" case for vectors (which shouldn't Eli Friedman2009-07-301-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 noticedMike Stump2009-07-301-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 accessFariborz Jahanian2009-07-301-5/+47
| | | | | | in current class. llvm-svn: 77554
* Eliminate an unused-variable warningDouglas Gregor2009-07-291-1/+0
| | | | llvm-svn: 77518
* Update for LLVM API change.Owen Anderson2009-07-2913-319/+314
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-2911-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 Anderson2009-07-297-93/+93
| | | | llvm-svn: 77492
* No longer need to keep base class offsets in the offsetFariborz Jahanian2009-07-292-7/+0
| | | | | | table as it has its own place now. llvm-svn: 77491
* Patch to provide cast of objects in member accessFariborz Jahanian2009-07-291-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 typeFariborz Jahanian2009-07-291-20/+4
| | | | | | for offset ir-gen. llvm-svn: 77458
* Code refactoring to define getCXXRecordDeclForPointerTypeFariborz Jahanian2009-07-292-22/+14
| | | | | | and use it in several places. llvm-svn: 77411
* ir-gen derived-to-base conversion in implicit casts.Fariborz Jahanian2009-07-281-1/+15
| | | | llvm-svn: 77374
* Update for LLVM API change.Owen Anderson2009-07-283-11/+11
| | | | llvm-svn: 77368
* Remove the old RecordOrganizer.Anders Carlsson2009-07-281-151/+0
| | | | llvm-svn: 77365
* More cleanup of data member access and then some.Fariborz Jahanian2009-07-282-10/+25
| | | | llvm-svn: 77351
* Update for LLVM API change.Owen Anderson2009-07-284-37/+37
| | | | llvm-svn: 77349
* add some fixme'sChris Lattner2009-07-281-2/+2
| | | | llvm-svn: 77343
* Some code cleanup.Fariborz Jahanian2009-07-282-26/+11
| | | | llvm-svn: 77339
* More CGRecordLayoutBuilder cleanup.Anders Carlsson2009-07-282-33/+12
| | | | llvm-svn: 77335
* More work toward data member access ir-gen.Fariborz Jahanian2009-07-283-0/+54
| | | | llvm-svn: 77332
* Allow functions to be marked "implicit return zero" and so mark main().John McCall2009-07-281-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 assumeFariborz Jahanian2009-07-271-11/+10
| | | | | | | that @catch(...) cathces all exceptions (c++ objects are not cought by that). llvm-svn: 77270
* Update for LLVM API change.Owen Anderson2009-07-275-52/+50
| | | | llvm-svn: 77267
* Update for LLVM API change.Owen Anderson2009-07-274-12/+14
| | | | llvm-svn: 77249
* Some minor changes toward support of dataFariborz Jahanian2009-07-273-0/+23
| | | | | | member access in the presense of non-virtual bases. llvm-svn: 77246
* Use DICompositeType->replaceAllUsesWith()Devang Patel2009-07-271-4/+3
| | | | llvm-svn: 77228
* Use the CGRecordLayoutBuilder even if there are no fields, because in C++ an ↵Anders Carlsson2009-07-271-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 Carlsson2009-07-271-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 Carlsson2009-07-272-6/+19
| | | | | | by an existing test. llvm-svn: 77189
* Enable the new constant struct builder by default. The old code is still in ↵Anders Carlsson2009-07-271-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 Carlsson2009-07-271-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 Carlsson2009-07-271-2/+79
| | | | llvm-svn: 77177
* Switch to getName()Daniel Dunbar2009-07-261-1/+1
| | | | llvm-svn: 77151
* Switch to using llvm::Value::getName()Daniel Dunbar2009-07-262-4/+3
| | | | llvm-svn: 77147
* ir-gen for non-virtual base class initializationFariborz Jahanian2009-07-252-4/+38
| | | | | | in constructors. llvm-svn: 77087
OpenPOWER on IntegriCloud