summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* 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
* More work on the constant struct builder. We can now convert the struct to a ↵Anders Carlsson2009-07-251-3/+40
| | | | | | packed struct when necessary. llvm-svn: 77038
* More work on the constant struct builder. We now try to layout all constant ↵Anders Carlsson2009-07-251-6/+19
| | | | | | structs but throw away the result. llvm-svn: 77021
* Update for LLVM API change.Owen Anderson2009-07-2416-201/+206
| | | | llvm-svn: 77012
* Fix a release build warning.Anders Carlsson2009-07-241-1/+1
| | | | llvm-svn: 76985
* More work toward initialization of objectsFariborz Jahanian2009-07-241-3/+12
| | | | | | in constructors. llvm-svn: 76980
* Don't use getLLVMFieldNo for bitfields when constructing the ivar layout ↵Anders Carlsson2009-07-241-4/+8
| | | | | | maps for GC. llvm-svn: 76978
* Check in a half finished new constant struct builder (Obviously not used yet).Anders Carlsson2009-07-242-2/+148
| | | | llvm-svn: 76969
* Fix declaration of obc_enumerationMutation function, for GNU runtime.Daniel Dunbar2009-07-242-8/+11
| | | | llvm-svn: 76959
* Get rid of the size parameter to AppendField. No functionality change.Anders Carlsson2009-07-242-10/+8
| | | | llvm-svn: 76931
* Output UTF-16 string literals independent of host byte order.Daniel Dunbar2009-07-231-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 Dunbar2009-07-231-38/+53
| | | | llvm-svn: 76908
* Don't just store the field/bit field info one field, do it for all fields in ↵Anders Carlsson2009-07-231-12/+6
| | | | | | the union. llvm-svn: 76907
* Fix another thinko.Anders Carlsson2009-07-231-2/+2
| | | | llvm-svn: 76903
* Correct a thinko in bitfield layout code. Fixes PR4611.Anders Carlsson2009-07-231-4/+2
| | | | llvm-svn: 76898
* Simplify, NFC.Daniel Dunbar2009-07-231-8/+7
| | | | llvm-svn: 76897
* Simplify.Daniel Dunbar2009-07-231-5/+4
| | | | llvm-svn: 76885
* We don't need to keep track of the packed alignment, just whether the struct ↵Anders Carlsson2009-07-232-20/+13
| | | | | | is packed or not. Fixes PR4610. llvm-svn: 76884
* Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵Anders Carlsson2009-07-236-41/+46
| | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882
* Unbreak the CMake buildDouglas Gregor2009-07-231-0/+1
| | | | llvm-svn: 76878
* Shield clang from LLVM API changes, until the dust settles.Daniel Dunbar2009-07-231-1/+3
| | | | llvm-svn: 76862
* Set field info for unions.Anders Carlsson2009-07-231-1/+11
| | | | llvm-svn: 76856
* Use arrays as union padding. Also, since the resulting struct will always ↵Anders Carlsson2009-07-231-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 Carlsson2009-07-231-0/+9
| | | | llvm-svn: 76847
* Implement union layout support.Anders Carlsson2009-07-232-5/+48
| | | | llvm-svn: 76846
* Check in CGRecordLayoutBuilder which is a reimplementation of the record ↵Anders Carlsson2009-07-234-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 Dunbar2009-07-231-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 Patel2009-07-221-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 Naroff2009-07-221-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
OpenPOWER on IntegriCloud