Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | 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 | 16 | -201/+206 |
| | | | | llvm-svn: 77012 | ||||
* | Fix a release build warning. | Anders Carlsson | 2009-07-24 | 1 | -1/+1 |
| | | | | llvm-svn: 76985 | ||||
* | More work toward initialization of objects | Fariborz Jahanian | 2009-07-24 | 1 | -3/+12 |
| | | | | | | in constructors. llvm-svn: 76980 | ||||
* | Don't use getLLVMFieldNo for bitfields when constructing the ivar layout ↵ | Anders Carlsson | 2009-07-24 | 1 | -4/+8 |
| | | | | | | maps for GC. llvm-svn: 76978 | ||||
* | Check in a half finished new constant struct builder (Obviously not used yet). | Anders Carlsson | 2009-07-24 | 2 | -2/+148 |
| | | | | llvm-svn: 76969 | ||||
* | Fix declaration of obc_enumerationMutation function, for GNU runtime. | Daniel Dunbar | 2009-07-24 | 2 | -8/+11 |
| | | | | llvm-svn: 76959 | ||||
* | Get rid of the size parameter to AppendField. No functionality change. | Anders Carlsson | 2009-07-24 | 2 | -10/+8 |
| | | | | llvm-svn: 76931 | ||||
* | Output UTF-16 string literals independent of host byte order. | Daniel Dunbar | 2009-07-23 | 1 | -9/+24 |
| | | | | | | | | - Steve, can you take a look at this? It seems like this code should live elsewhere, and there is a FIXME about having Sema validates the UTF-8 to UTF-16 conversion. llvm-svn: 76915 | ||||
* | Factor out map lookup for CFString constants. | Daniel Dunbar | 2009-07-23 | 1 | -38/+53 |
| | | | | llvm-svn: 76908 | ||||
* | Don't just store the field/bit field info one field, do it for all fields in ↵ | Anders Carlsson | 2009-07-23 | 1 | -12/+6 |
| | | | | | | the union. llvm-svn: 76907 | ||||
* | Fix another thinko. | Anders Carlsson | 2009-07-23 | 1 | -2/+2 |
| | | | | llvm-svn: 76903 | ||||
* | Correct a thinko in bitfield layout code. Fixes PR4611. | Anders Carlsson | 2009-07-23 | 1 | -4/+2 |
| | | | | llvm-svn: 76898 | ||||
* | Simplify, NFC. | Daniel Dunbar | 2009-07-23 | 1 | -8/+7 |
| | | | | llvm-svn: 76897 | ||||
* | Simplify. | Daniel Dunbar | 2009-07-23 | 1 | -5/+4 |
| | | | | llvm-svn: 76885 | ||||
* | We don't need to keep track of the packed alignment, just whether the struct ↵ | Anders Carlsson | 2009-07-23 | 2 | -20/+13 |
| | | | | | | is packed or not. Fixes PR4610. llvm-svn: 76884 | ||||
* | Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵ | Anders Carlsson | 2009-07-23 | 6 | -41/+46 |
| | | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882 | ||||
* | Unbreak the CMake build | Douglas Gregor | 2009-07-23 | 1 | -0/+1 |
| | | | | llvm-svn: 76878 | ||||
* | Shield clang from LLVM API changes, until the dust settles. | Daniel Dunbar | 2009-07-23 | 1 | -1/+3 |
| | | | | llvm-svn: 76862 | ||||
* | Set field info for unions. | Anders Carlsson | 2009-07-23 | 1 | -1/+11 |
| | | | | llvm-svn: 76856 | ||||
* | 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 | ||||
* | Handle zero width bit fields in unions correctly (by ignoring them). | Anders Carlsson | 2009-07-23 | 1 | -0/+9 |
| | | | | llvm-svn: 76847 | ||||
* | Implement union layout support. | Anders Carlsson | 2009-07-23 | 2 | -5/+48 |
| | | | | llvm-svn: 76846 | ||||
* | Check in CGRecordLayoutBuilder which is a reimplementation of the record ↵ | Anders Carlsson | 2009-07-23 | 4 | -12/+423 |
| | | | | | | layout code. (Yay, no more packed structs unless absolutely necessary). We currently don't use the layouts being built but that will change when the new code is mature enough :) llvm-svn: 76845 | ||||
* | These IRgen improvements have been done. | Daniel Dunbar | 2009-07-23 | 1 | -18/+0 |
| | | | | | | | Technically we could still do a bit more to avoid deferred generation of statics which we know are used, but I seriously doubt this is important. llvm-svn: 76844 | ||||
* | Use DICompositeType->replaceAllUsesWith(). | Devang Patel | 2009-07-22 | 1 | -4/+3 |
| | | | | | | This requires llvm rev. 76769 or higher. llvm-svn: 76770 | ||||
* | Fix a couple recent ABI regressions noticed during code review (fallout from ↵ | Steve Naroff | 2009-07-22 | 1 | -2/+2 |
| | | | | | | | | the ObjC type system rewrite). It's unfortunate that the mangling includes the low-level structs. Nevertheless, we need this for binary compatibility with GCC. llvm-svn: 76755 |