| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Use a more appropriate LLVM type for the vtable pointer. | Anders Carlsson | 2010-05-05 | 1 | -3/+5 |
| | | | | | llvm-svn: 103078 | ||||
| * | IRgen: Fix another case where we generated an invalid access component when we | Daniel Dunbar | 2010-04-22 | 1 | -13/+12 |
| | | | | | | | | immediately narrowed the access size. Fix this (and previous case) by just choosing a better access size up-front. llvm-svn: 102068 | ||||
| * | IRgen: Fix case where we might generate an access component with width == 0, if | Daniel Dunbar | 2010-04-22 | 1 | -0/+10 |
| | | | | | | | | we have to narrow the access side immediately (can happen with packed, -fno-bitfield-type-align). llvm-svn: 102067 | ||||
| * | IRgen: Set alignment correctly on bit-field accesses. | Daniel Dunbar | 2010-04-22 | 1 | -4/+4 |
| | | | | | llvm-svn: 102046 | ||||
| * | IRgen: Rewrite bit-field access policy to not access data beyond the bounds ↵ | Daniel Dunbar | 2010-04-22 | 1 | -39/+83 |
| | | | | | | | | | | | | | of the structure, which we also now verify as part of the post-layout consistency checks. - This fixes some pedantic bugs with packed structures, as well as major problems with -fno-bitfield-type-align. - Fixes PR5591, PR5567, and all known -fno-bitfield-type-align issues. - Review appreciated. llvm-svn: 102045 | ||||
| * | IRgen: Fix CGRecordLayout::print to print the bit-field infos in a ↵ | Daniel Dunbar | 2010-04-22 | 1 | -1/+14 |
| | | | | | | | consistent order. llvm-svn: 102044 | ||||
| * | IRgen: Add checking that the LLVM and AST record layout offsets agree (for | Daniel Dunbar | 2010-04-21 | 1 | -1/+20 |
| | | | | | | | non-bit-fields). llvm-svn: 102014 | ||||
| * | IRgen: Always use i8 arrays to access union bit-fields. This is ugly, but | Daniel Dunbar | 2010-04-20 | 1 | -15/+6 |
| | | | | | | | | matches how we currently handle structs, and this correctly handles -fno-bitfield-type-align. llvm-svn: 101918 | ||||
| * | AST: Dump ASTRecordLayout objects when they are created with ↵ | Daniel Dunbar | 2010-04-19 | 1 | -1/+1 |
| | | | | | | | -fdump-record-layouts. llvm-svn: 101815 | ||||
| * | IRgen: Kill unused function and move the type match assert to after record ↵ | Daniel Dunbar | 2010-04-19 | 1 | -13/+8 |
| | | | | | | | dumping. llvm-svn: 101814 | ||||
| * | Simplify wide bit-field layout in CGRecordLayoutBuilder, and also fix a bug ↵ | Anders Carlsson | 2010-04-17 | 1 | -15/+10 |
| | | | | | | | where assigning to a bit-field member would overwrite other parts of the struct. llvm-svn: 101681 | ||||
| * | Unnamed bit-fields in a union should be laid out with a type that doesn't ↵ | Anders Carlsson | 2010-04-17 | 1 | -1/+17 |
| | | | | | | | affect alignment. llvm-svn: 101673 | ||||
| * | Factor union field layout code out into a separate function. No ↵ | Anders Carlsson | 2010-04-17 | 1 | -18/+31 |
| | | | | | | | functionality change. llvm-svn: 101671 | ||||
| * | Vtable -> VTable renames across the board. | Anders Carlsson | 2010-04-17 | 1 | -1/+1 |
| | | | | | llvm-svn: 101666 | ||||
| * | Make CGRecordLayoutBuilder deal with wide bit-fields. Will land tests ↵ | Anders Carlsson | 2010-04-16 | 1 | -1/+20 |
| | | | | | | | shortly (Daniel, please review). llvm-svn: 101472 | ||||
| * | IRgen: Change CGBitFieldInfo to take the AccessInfo as constructor ↵ | Daniel Dunbar | 2010-04-15 | 1 | -5/+6 |
| | | | | | | | | | arguments, it is now an immutable object. Also, add some checking of various invariants that should hold on the CGBitFieldInfo access. llvm-svn: 101345 | ||||
| * | IRgen: Eliminate now unused fields from CGBitFieldInfo. | Daniel Dunbar | 2010-04-15 | 1 | -7/+4 |
| | | | | | llvm-svn: 101344 | ||||
| * | IRgen: Enhance CGBitFieldInfo with enough information to fully describe the ↵ | Daniel Dunbar | 2010-04-13 | 1 | -5/+65 |
| | | | | | | | | | | | "policy" with which a bit-field should be accessed. - For now, these policies are computed to match the current IRgen strategy, although the new information isn't being used yet (except in -fdump-record-layouts). - Design comments appreciated. llvm-svn: 101178 | ||||
| * | IRgen: Factor out ComputeBitFieldInfo. | Daniel Dunbar | 2010-04-12 | 1 | -18/+21 |
| | | | | | llvm-svn: 101066 | ||||
| * | IRgen: Add CGRecordLayout::dump, and dump (irgen) record layouts as part of ↵ | Daniel Dunbar | 2010-04-12 | 1 | -1/+38 |
| | | | | | | | -fdump-record-layouts. llvm-svn: 101051 | ||||
| * | IRgen: Move the bit-field access type into CGBitFieldInfo, and change ↵ | Daniel Dunbar | 2010-04-08 | 1 | -4/+4 |
| | | | | | | | bit-field LValues to just store the base address of object containing the bit-field. llvm-svn: 100745 | ||||
| * | IRgen: Move BitFieldIsSigned bit into CGBitFieldInfo. | Daniel Dunbar | 2010-04-06 | 1 | -2/+5 |
| | | | | | llvm-svn: 100513 | ||||
| * | Simplify. | Daniel Dunbar | 2010-04-06 | 1 | -28/+11 |
| | | | | | llvm-svn: 100512 | ||||
| * | IRgen: Lift BitFieldInfo to CGBitFieldInfo at namespace level. | Daniel Dunbar | 2010-04-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 100433 | ||||
| * | IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out ↵ | Daniel Dunbar | 2010-03-31 | 1 | -3/+7 |
| | | | | | | | | | of CodeGenTypes, to per-record CGRecordLayout structures. - I did a cursory check that this was perf neutral, FWIW. llvm-svn: 99978 | ||||
| * | CGRecordLayoutBuilder: Switch unions to use same mechanism for tracking ↵ | Daniel Dunbar | 2010-03-31 | 1 | -3/+4 |
| | | | | | | | | | field and bit-field info as structs. - Anders, please check. llvm-svn: 99977 | ||||
| * | IRGen: Hide CGRecordLayoutBuilder class, because I can. | Daniel Dunbar | 2010-03-31 | 1 | -28/+133 |
| | | | | | llvm-svn: 99967 | ||||
| * | IRgen: Move CGRecordLayout to its own happy little file. | Daniel Dunbar | 2010-03-30 | 1 | -1/+1 |
| | | | | | llvm-svn: 99945 | ||||
| * | Improve handling of emitting 'null' pointers to data members. | Anders Carlsson | 2010-02-02 | 1 | -10/+24 |
| | | | | | llvm-svn: 95066 | ||||
| * | Fix an incorrect union layout assert. Fixes PR6164. | Anders Carlsson | 2010-01-28 | 1 | -1/+6 |
| | | | | | llvm-svn: 94754 | ||||
| * | Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one. | Anders Carlsson | 2009-12-16 | 1 | -0/+16 |
| | | | | | llvm-svn: 91545 | ||||
| * | No need to add tail padding if the resulting LLVM struct type will have the ↵ | Anders Carlsson | 2009-12-08 | 1 | -2/+8 |
| | | | | | | | same size as the final record size. llvm-svn: 90820 | ||||
| * | Have ASTRecordLayout keep track of the key function, in preparation of ↵ | Anders Carlsson | 2009-11-30 | 1 | -29/+1 |
| | | | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168 | ||||
| * | Fixup key function calculations. | Mike Stump | 2009-11-20 | 1 | -6/+2 |
| | | | | | llvm-svn: 89412 | ||||
| * | This doesn't work yet. | Mike Stump | 2009-11-19 | 1 | -0/+5 |
| | | | | | llvm-svn: 89307 | ||||
| * | Prevent a code gen. crash on empty unions - pr5408. | Fariborz Jahanian | 2009-11-06 | 1 | -1/+5 |
| | | | | | llvm-svn: 86287 | ||||
| * | Store the key function of a record decl inside CGRecordLayout. | Anders Carlsson | 2009-10-12 | 1 | -1/+28 |
| | | | | | llvm-svn: 83900 | ||||
| * | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -61/+61 |
| | | | | | llvm-svn: 81346 | ||||
| * | If the alignment of the chosen field in a union is greater than the ↵ | Anders Carlsson | 2009-09-03 | 1 | -1/+8 |
| | | | | | | | alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>. llvm-svn: 80964 | ||||
| * | Packed unions should be packed. Fixes an assert Daniel reported. | Anders Carlsson | 2009-09-02 | 1 | -2/+1 |
| | | | | | llvm-svn: 80808 | ||||
| * | More work towards zero-initializing structs that contain member pointers in ↵ | Anders Carlsson | 2009-08-23 | 1 | -1/+20 |
| | | | | | | | constant expressions. llvm-svn: 79805 | ||||
| * | Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway. | Anders Carlsson | 2009-08-23 | 1 | -1/+1 |
| | | | | | llvm-svn: 79799 | ||||
| * | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 78946 | ||||
| * | Take #pragma pack into account when laying out structs. Fixes ↵ | Anders Carlsson | 2009-08-08 | 1 | -1/+19 |
| | | | | | | | rdar://problem/7095436. llvm-svn: 78490 | ||||
| * | Introduce a new PragmaPack attribute, and use it for #pragma pack. The ↵ | Anders Carlsson | 2009-08-08 | 1 | -11/+3 |
| | | | | | | | | | PackedAttr now only represents __attribute__((packed)). This is necessary because #pragma pack and __attribute__((packed)) have different semantics. No functionality change yet, but this lays the groundwork for fixing a record layout bug. llvm-svn: 78483 | ||||
| * | Assert that the LLVM type has the same size as the RecordDecl size. | Anders Carlsson | 2009-08-08 | 1 | -0/+3 |
| | | | | | llvm-svn: 78481 | ||||
| * | Update for LLVM API change. | Owen Anderson | 2009-08-05 | 1 | -1/+2 |
| | | | | | llvm-svn: 78259 | ||||
| * | Simplify alignment handling in the record builder. | Anders Carlsson | 2009-08-04 | 1 | -12/+18 |
| | | | | | llvm-svn: 78069 | ||||
| * | No longer need to keep base class offsets in the offset | Fariborz Jahanian | 2009-07-29 | 1 | -3/+0 |
| | | | | | | | table as it has its own place now. llvm-svn: 77491 | ||||
| * | More CGRecordLayoutBuilder cleanup. | Anders Carlsson | 2009-07-28 | 1 | -18/+8 |
| | | | | | llvm-svn: 77335 | ||||

