| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Introduce Type::isSignedIntegerOrEnumerationType() and | Douglas Gregor | 2011-05-20 | 1 | -1/+1 |
| | | | | | | | | | | | | | | Type::isUnsignedIntegerOrEnumerationType(), which are like Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also consider the underlying type of a C++0x scoped enumeration type. Audited all callers to the existing functions, switching those that need to also handle scoped enumeration types (e.g., those that deal with constant values) over to the new functions. Fixes PR9923 / <rdar://problem/9447851>. llvm-svn: 131735 | ||||
| * | Finish off rules for z-length bitfields in ms_struct | Fariborz Jahanian | 2011-05-03 | 1 | -4/+2 |
| | | | | | | | structs. // rdar://8823265 llvm-svn: 130783 | ||||
| * | More rule enforcement of zero bitfields for ms_struct. | Fariborz Jahanian | 2011-05-02 | 1 | -2/+4 |
| | | | | | llvm-svn: 130696 | ||||
| * | Some refactoring of my ms_struct patch. | Fariborz Jahanian | 2011-04-27 | 1 | -7/+2 |
| | | | | | | | // rdar://8823265 related. llvm-svn: 130311 | ||||
| * | With ms_struct attribut, Zero-length bitfields following | Fariborz Jahanian | 2011-04-26 | 1 | -4/+42 |
| | | | | | | | non-bitfield members are ignore. // rdar://8823265 wip llvm-svn: 130257 | ||||
| * | Simplify AppendTailPadding() by converting its parameter to CharUnits. No | Ken Dyck | 2011-04-24 | 1 | -11/+7 |
| | | | | | | | change in functionality intended. llvm-svn: 130108 | ||||
| * | Eliminate literal 8s from LayoutUnionField by converting NumBytesToAppend to | Ken Dyck | 2011-04-24 | 1 | -4/+5 |
| | | | | | | | CharUnits. No change in functionality intended. llvm-svn: 130107 | ||||
| * | Eliminate literal 8s from LayoutBitField(), converting variables to | Ken Dyck | 2011-04-24 | 1 | -10/+16 |
| | | | | | | | | CharUnits or replacing the 8s with char align. No change in functionality intended. llvm-svn: 130106 | ||||
| * | Convert AccessInfo::AccessAlignment to CharUnits. No change in functionality | Ken Dyck | 2011-04-24 | 1 | -2/+3 |
| | | | | | | | intended. llvm-svn: 130087 | ||||
| * | Convert CGBitFieldInfo::FieldByteOffset to CharUnits. No change in | Ken Dyck | 2011-04-24 | 1 | -4/+5 |
| | | | | | | | functionality intended. llvm-svn: 130085 | ||||
| * | When laying out bases in, always try the "base subobject" LLVM type. If it | Anders Carlsson | 2011-04-17 | 1 | -14/+66 |
| | | | | | | | | | | | | | | turns out that a field or base needs to be laid out in the tail padding of the base, CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary will convert it to an array of i8. I've audited the new test results to make sure that they are still valid. I've also verified that we pass a self-host with this change. This (finally) fixes PR5589! llvm-svn: 129673 | ||||
| * | Use a SmallVector for field types in CGRecordLayoutBuilder now that ↵ | Anders Carlsson | 2011-04-17 | 1 | -1/+1 |
| | | | | | | | llvm::StructType::get takes an ArrayRef. llvm-svn: 129667 | ||||
| * | Fix typo in comment. | Nick Lewycky | 2011-03-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 128088 | ||||
| * | A much-delayed response to Ken Dyck's review: make this somewhat more | John McCall | 2011-02-26 | 1 | -10/+16 |
| | | | | | | | char-width agnostic. llvm-svn: 126542 | ||||
| * | improve support for big endian targets, fixing PR8171, patch | Chris Lattner | 2011-02-17 | 1 | -2/+15 |
| | | | | | | | by Heikki Kultala! llvm-svn: 125784 | ||||
| * | Refactor CGRecordLayoutBuilder to use CharUnits more consistently. | John McCall | 2011-02-15 | 1 | -144/+162 |
| | | | | | llvm-svn: 125605 | ||||
| * | Perform zero-initialization of virtual base classes when emitting | John McCall | 2011-02-15 | 1 | -112/+100 |
| | | | | | | | | | | | | | a zero constant for a complete class. rdar://problem/8424975 To make this happen, track the field indexes for virtual bases in the complete object. I'm curious whether we might be better off making CGRecordLayoutBuilder *much* more reliant on ASTRecordLayout; we're currently duplicating an awful lot of the ABI layout logic. llvm-svn: 125555 | ||||
| * | Convert RecordLayout::Alignment to CharUnits from bit units. No change in | Ken Dyck | 2011-02-15 | 1 | -3/+4 |
| | | | | | | | functionality intended. llvm-svn: 125549 | ||||
| * | Add a helper function, ASTContext::toBits(), that converts sizes in | Ken Dyck | 2011-02-11 | 1 | -7/+4 |
| | | | | | | | | CharUnits to sizes in bits, and use it to tidy up the places where the conversion was done explicitly. llvm-svn: 125332 | ||||
| * | Drop the 'InBits' part from the name of RecordSizeInBits as the value is in | Ken Dyck | 2011-02-10 | 1 | -5/+5 |
| | | | | | | | character units. llvm-svn: 125281 | ||||
| * | Eliminate some signed-to-unsigned comparision warnings introduced in | Ken Dyck | 2011-02-10 | 1 | -2/+4 |
| | | | | | | | r125156. llvm-svn: 125280 | ||||
| * | Convert RecordLayout::Size to CharUnits from bits. No changes to | Ken Dyck | 2011-02-09 | 1 | -6/+9 |
| | | | | | | | functionality intended. llvm-svn: 125156 | ||||
| * | Convert RecordLayout::NonVirtualAlign to CharUnits. No change in | Ken Dyck | 2011-02-08 | 1 | -5/+10 |
| | | | | | | | functionality intended. llvm-svn: 125069 | ||||
| * | Convert RecordLayout::NonVirtualSize from bit units to CharUnits. | Ken Dyck | 2011-02-01 | 1 | -6/+7 |
| | | | | | llvm-svn: 124646 | ||||
| * | Fix another obscure corner layout case. | Argyrios Kyrtzidis | 2010-12-10 | 1 | -9/+13 |
| | | | | | llvm-svn: 121436 | ||||
| * | Add a LayoutBase member function. No functionality change. | Anders Carlsson | 2010-12-04 | 1 | -15/+22 |
| | | | | | llvm-svn: 120924 | ||||
| * | Replace calls to AppendBytes with calls to AppendPadding when the bytes ↵ | Anders Carlsson | 2010-12-04 | 1 | -11/+6 |
| | | | | | | | appended are padding. llvm-svn: 120922 | ||||
| * | CGRecordLayoutBuilder does not need to be exported from this module. | John McCall | 2010-11-30 | 1 | -3/+1 |
| | | | | | llvm-svn: 120489 | ||||
| * | Don't store the maximum alignment, we can trivially compute it. | Anders Carlsson | 2010-11-28 | 1 | -12/+21 |
| | | | | | llvm-svn: 120268 | ||||
| * | More work on laying out virtual bases. | Anders Carlsson | 2010-11-28 | 1 | -9/+46 |
| | | | | | llvm-svn: 120257 | ||||
| * | Begin work on actually laying out virtual bases. | Anders Carlsson | 2010-11-25 | 1 | -1/+32 |
| | | | | | llvm-svn: 120140 | ||||
| * | Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual. | Anders Carlsson | 2010-11-24 | 1 | -2/+2 |
| | | | | | llvm-svn: 120133 | ||||
| * | Add CXXRecordDecl::getIndirectPrimaryBases. | Anders Carlsson | 2010-11-24 | 1 | -1/+6 |
| | | | | | llvm-svn: 120129 | ||||
| * | Simplify code. | Anders Carlsson | 2010-11-24 | 1 | -13/+1 |
| | | | | | llvm-svn: 120109 | ||||
| * | CGRecordLayout types are always struct types. | Anders Carlsson | 2010-11-24 | 1 | -4/+4 |
| | | | | | llvm-svn: 120106 | ||||
| * | Remove FIXME; we don't ever want to lay out empty bases. | Anders Carlsson | 2010-11-22 | 1 | -7/+6 |
| | | | | | llvm-svn: 119957 | ||||
| * | Rename BaseLLVMType to NonVirtualBaseLLVMType. | Anders Carlsson | 2010-11-21 | 1 | -2/+2 |
| | | | | | llvm-svn: 119956 | ||||
| * | Add getCGRecordLayout helper function. No functionality change. | Anders Carlsson | 2010-11-21 | 1 | -6/+13 |
| | | | | | llvm-svn: 119955 | ||||
| * | Remove debugging printf. | Nick Lewycky | 2010-11-09 | 1 | -3/+0 |
| | | | | | | | Fix linux build. llvm-svn: 118497 | ||||
| * | Introduce the concept of a non-virtual base type to CGRecordLayoutBuilder as ↵ | Anders Carlsson | 2010-11-09 | 1 | -9/+109 |
| | | | | | | | a first step towards fixing PR6995. llvm-svn: 118491 | ||||
| * | Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵ | Anders Carlsson | 2010-10-31 | 1 | -1/+1 |
| | | | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881 | ||||
| * | IRgen: Move CGBitFieldInfo strategy computation helpers to static member | Daniel Dunbar | 2010-09-02 | 1 | -11/+23 |
| | | | | | | | functions. llvm-svn: 112913 | ||||
| * | Go back to asking CodeGenTypes whether a type is zero-initializable. | John McCall | 2010-08-22 | 1 | -26/+21 |
| | | | | | | | | | | Make CGT defer to the ABI on all member pointer types. This requires giving CGT a handle to the ABI. It's way easier to make that work if we avoid lazily creating the ABI. Make it so. llvm-svn: 111786 | ||||
| * | AST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate. | Daniel Dunbar | 2010-05-27 | 1 | -2/+3 |
| | | | | | llvm-svn: 104795 | ||||
| * | Correctly initialize bases with member pointers. This should fix PR6441 but ↵ | Anders Carlsson | 2010-05-18 | 1 | -7/+19 |
| | | | | | | | that test case is a bit weird and I'd like to investigate further before closing that bug. llvm-svn: 104025 | ||||
| * | Keep track of the LLVM field numbers for non-virtual bases. | Anders Carlsson | 2010-05-18 | 1 | -4/+16 |
| | | | | | llvm-svn: 104013 | ||||
| * | Start laying out bases as individual fields. We still use ugly i8 arrays but ↵ | Anders Carlsson | 2010-05-18 | 1 | -14/+61 |
| | | | | | | | this is a step in the right direction. llvm-svn: 104012 | ||||
| * | 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 | ||||

