Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move ComputeEmptySubobjectSizes to EmptySubobjectMap. | Anders Carlsson | 2010-05-26 | 1 | -61/+65 | |
| | | | | llvm-svn: 104702 | |||||
* | Stub out the EmptySubobjectsMap class. | Anders Carlsson | 2010-05-26 | 1 | -2/+23 | |
| | | | | llvm-svn: 104701 | |||||
* | Inline the RecordLayoutBuilder constructor. | Anders Carlsson | 2010-05-26 | 1 | -9/+7 | |
| | | | | llvm-svn: 104700 | |||||
* | Add a Layout overload that takes a CXXRecordDecl. | Anders Carlsson | 2010-05-26 | 1 | -38/+48 | |
| | | | | llvm-svn: 104695 | |||||
* | Move RecordLayoutBuilder into an anonymous namespace. | Benjamin Kramer | 2010-05-26 | 1 | -0/+2 | |
| | | | | llvm-svn: 104693 | |||||
* | Rename ASTRecordLayoutBuilder to RecordLayoutBuilder. | Anders Carlsson | 2010-05-26 | 1 | -34/+34 | |
| | | | | llvm-svn: 104688 | |||||
* | Move the ASTRecordLayoutBuilder class declaration into the .cpp file. | Anders Carlsson | 2010-05-26 | 1 | -3/+155 | |
| | | | | llvm-svn: 104686 | |||||
* | Fix thinko and remove another unused function. | Anders Carlsson | 2010-05-26 | 1 | -36/+1 | |
| | | | | llvm-svn: 104683 | |||||
* | Fix build. | Anders Carlsson | 2010-05-26 | 1 | -2/+4 | |
| | | | | llvm-svn: 104682 | |||||
* | No need to use the PrimaryBaseInfo struct in the builder. | Anders Carlsson | 2010-05-26 | 1 | -19/+22 | |
| | | | | llvm-svn: 104681 | |||||
* | Remove FIXME. | Anders Carlsson | 2010-05-26 | 1 | -1/+0 | |
| | | | | llvm-svn: 104674 | |||||
* | Fold the other Layout overload into its sole call site. | Anders Carlsson | 2010-05-26 | 1 | -2/+37 | |
| | | | | llvm-svn: 104673 | |||||
* | Fold the ASTRecordLayoutBuilder::ComputeLayout overload that takes an ↵ | Anders Carlsson | 2010-05-26 | 1 | -17/+9 | |
| | | | | | | ObjCInterfaceDecl pointer into its only callsite. llvm-svn: 104672 | |||||
* | Move the relevant ASTContext member functions that deal with ↵ | Anders Carlsson | 2010-05-26 | 1 | -0/+73 | |
| | | | | | | ASTRecordLayoutBuilder into RecordLayoutBuilder.cpp. This matches the way we interact with other builder classes (CGRecordLayoutBuilder, VTableBuilder and VTTBuilder) and it also allows for making ASTRecordLayoutBuilder a private class without a header file. llvm-svn: 104671 | |||||
* | When recording empty subobjects we should always look at the primary virtual ↵ | Anders Carlsson | 2010-05-23 | 1 | -0/+7 | |
| | | | | | | base. llvm-svn: 104464 | |||||
* | Add an UpdateVBases parameter to UpdateEmptyClassOffsets. Not used just yet. | Anders Carlsson | 2010-05-10 | 1 | -7/+11 | |
| | | | | llvm-svn: 103403 | |||||
* | More work on handling empty classes. | Anders Carlsson | 2010-05-10 | 1 | -8/+14 | |
| | | | | llvm-svn: 103402 | |||||
* | Cleanup. | Anders Carlsson | 2010-05-09 | 1 | -5/+5 | |
| | | | | llvm-svn: 103370 | |||||
* | Actually compute the empty subobject sizes. No functionality change yet. | Anders Carlsson | 2010-05-08 | 1 | -3/+55 | |
| | | | | llvm-svn: 103363 | |||||
* | Add a SizeOfLargestEmptySubobject member to ASTRecordLayout. For C++ classes ↵ | Anders Carlsson | 2010-05-08 | 1 | -11/+13 | |
| | | | | | | this will hold the largest empty subobject or 0 if the class doesn't have any empty subobjects. llvm-svn: 103359 | |||||
* | AST: Dump ASTRecordLayout objects when they are created with ↵ | Daniel Dunbar | 2010-04-19 | 1 | -12/+25 | |
| | | | | | | -fdump-record-layouts. llvm-svn: 101815 | |||||
* | Fix -Wcast-qual warnings. | Dan Gohman | 2010-04-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 101786 | |||||
* | If a wide bit-field is inside a union its offset should always be 0. | Anders Carlsson | 2010-04-17 | 1 | -4/+7 | |
| | | | | llvm-svn: 101668 | |||||
* | Add raw_ostream operators to NamedDecl for convenience. Switch over all ↵ | Benjamin Kramer | 2010-04-17 | 1 | -3/+2 | |
| | | | | | | | | users of getNameAsString on a stream. The next step is to print the name directly into the stream, avoiding a temporary std::string copy. llvm-svn: 101632 | |||||
* | Remove printfs. | Anders Carlsson | 2010-04-16 | 1 | -6/+0 | |
| | | | | llvm-svn: 101470 | |||||
* | More work on wide bit-fields, WIP. | Anders Carlsson | 2010-04-16 | 1 | -0/+65 | |
| | | | | llvm-svn: 101467 | |||||
* | Rename the ASTContext member 'Context'. | Anders Carlsson | 2010-04-16 | 1 | -34/+34 | |
| | | | | llvm-svn: 101462 | |||||
* | Split adding the primary virtual base offsets out into a separate pass. This ↵ | Anders Carlsson | 2010-04-15 | 1 | -34/+67 | |
| | | | | | | fixes a bug where we would lay out virtual bases in the wrong order. llvm-svn: 101373 | |||||
* | Tweak spelling (Bitfield -> BitField) | Daniel Dunbar | 2010-04-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 101369 | |||||
* | Add TargetInfo::useBitfieldTypeAlignment(). | Daniel Dunbar | 2010-04-15 | 1 | -4/+3 | |
| | | | | | | | | | | | | | | | - Used to determine whether the alignment of the type in a bit-field is respected when laying out structures. The default is true, targets can override this as needed. - This is designed to correspond to the PCC_BITFIELD_TYPE_MATTERS macro in gcc. The AST/Sema implementation only affects one line, unless I have forgotten something. I'd appreciate further review. - IRgen still needs to be updated to fully support this (which is effectively PR5591). llvm-svn: 101356 | |||||
* | Remove unnecessary cast. | Daniel Dunbar | 2010-04-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 101176 | |||||
* | Fix another vbase layout bug. | Anders Carlsson | 2010-04-10 | 1 | -1/+5 | |
| | | | | llvm-svn: 100952 | |||||
* | Add a simple debug-only verification pass to the record layout builder. | Anders Carlsson | 2010-04-10 | 1 | -0/+25 | |
| | | | | llvm-svn: 100951 | |||||
* | Simplify the virtual base layout code and fix a bug where we wouldn't store ↵ | Anders Carlsson | 2010-04-10 | 1 | -24/+25 | |
| | | | | | | the offset for a virtual base. llvm-svn: 100940 | |||||
* | AST: Move C++ record layout dumping to ASTContext::DumpRecordLayout. | Daniel Dunbar | 2010-04-08 | 1 | -91/+197 | |
| | | | | llvm-svn: 100746 | |||||
* | More record layout builder cleanup and simplification. | Anders Carlsson | 2010-03-11 | 1 | -35/+24 | |
| | | | | llvm-svn: 98238 | |||||
* | Get rid of the PrimaryBase parameter from LayoutVirtualBases. | Anders Carlsson | 2010-03-11 | 1 | -13/+18 | |
| | | | | llvm-svn: 98233 | |||||
* | More cleanup towards fixing the real bug. | Anders Carlsson | 2010-03-11 | 1 | -18/+31 | |
| | | | | llvm-svn: 98232 | |||||
* | Replace the class offset vectors in RecordLayoutBuilder with maps instead so ↵ | Anders Carlsson | 2010-03-11 | 1 | -20/+24 | |
| | | | | | | we'll have faster lookup and so we can detect duplicates. llvm-svn: 98231 | |||||
* | More cleanup. | Anders Carlsson | 2010-03-11 | 1 | -18/+15 | |
| | | | | llvm-svn: 98230 | |||||
* | More record layout builder cleanup. | Anders Carlsson | 2010-03-11 | 1 | -9/+7 | |
| | | | | llvm-svn: 98229 | |||||
* | Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already ↵ | Anders Carlsson | 2010-03-11 | 1 | -9/+5 | |
| | | | | | | there as a member variable. llvm-svn: 98211 | |||||
* | More cleanup and simplification of the record layout builder. | Anders Carlsson | 2010-03-11 | 1 | -65/+75 | |
| | | | | llvm-svn: 98208 | |||||
* | Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either ↵ | Anders Carlsson | 2010-03-10 | 1 | -18/+20 | |
| | | | | | | as a non-virtual base or a virtual base. llvm-svn: 98198 | |||||
* | More shuffling. | Anders Carlsson | 2010-03-10 | 1 | -61/+64 | |
| | | | | llvm-svn: 98197 | |||||
* | Cleanups, no functionality change yet. | Anders Carlsson | 2010-03-10 | 1 | -3/+0 | |
| | | | | llvm-svn: 98196 | |||||
* | Allocate ASTRecordLayout objects using the allocator associated with ASTContext. | Ted Kremenek | 2010-03-08 | 1 | -17/+18 | |
| | | | | | | | This allows them to be allocated using a BumpPtrAllocated in the common case. llvm-svn: 97978 | |||||
* | Patch removes IVars list from ObjCInterfaceDecl and | Fariborz Jahanian | 2010-02-19 | 1 | -2/+2 | |
| | | | | | | instead relies on their DeclContext for iteration, etc. llvm-svn: 96638 | |||||
* | Simplify code. If we can reach here, the base must be virtual. | Zhongxing Xu | 2010-02-15 | 1 | -5/+4 | |
| | | | | llvm-svn: 96211 | |||||
* | Be sure to select primary bases among the nearly empties in preorder, | Mike Stump | 2010-01-22 | 1 | -0/+5 | |
| | | | | | | | not just among the direct bases. Before we where missing nearly empties that were bases of virtual base classes. llvm-svn: 94208 |