f4bcfa1b1850711d5eb092f2b0639331ef9f09f1 |
|
27-Jun-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Propagate lvalue alignment into bitfields. Per report on cfe-dev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
581deb3da481053c4993c7600f97acf7768caac5 |
|
06-Jun-2012 |
David Blaikie <dblaikie@gmail.com> |
Revert Decl's iterators back to pointer value_type rather than reference value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
441c6239c6df8c759bacf6510efbfd434b647066 |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
Add support for laying out vtordisps according to our current working knowledge of the Microsoft ABI. Based on a patch by Dmitry Sokolov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
262bc18e32500558af7cb0afa205b34bd37bafed |
|
30-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove the ref/value inconsistency in filter_decl_iterator. filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c8f11e9b4b627a85aa83f74474327254d958cf8d |
|
27-Apr-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Add a missing check in CodeGen of packed classes with vtables. <rdar://problem/11324125>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
77889c43b73a99aae82e7ede01baa08a60b6976b |
|
04-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Silence a GCC warning about a set-but-not-used variable in release builds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
89e6e85f1a6c4972ece0b68950673735daec970a |
|
13-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
fa2b3dd31c2fa32f10156e3cbbc8d0cfa2879d03 |
|
13-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make CGRecordLayoutBuilder correctly switch over to a packed class when a class has a base whose alignment will break the class layout. <rdar://problem/10551376>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
26e80cdfe8933a7f804e1d05b379d5ad50119db5 |
|
07-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make sure we correctly zero-initialize unions containing a pointer to data member as the first field. PR11487. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9da235244c2de2bcca654b518c66133c30ebde53 |
|
08-Nov-2011 |
John McCall <rjmccall@apple.com> |
Fix the layout of vb-tables and vf-tables in the MS C++ ABI. Based on work by Dmitry Sokolov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
97c0aefe8c0523417ffe8a500a220286e11e7a46 |
|
18-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Rewrite parts of MS ABI C++ layout. Based on work by r4start; I ended up doing this while I was trying to review his patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a6b8b2c09610b8bc4330e948ece8b940c2386406 |
|
10-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation refactoring: - Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
bcfd1f55bfbb3e5944cd5e03d07b343e280838c4 |
|
02-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend the ASTContext constructor to delay the initialization of builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c1c20114a401e503c07d68c47e0728bb063f35c8 |
|
12-Aug-2011 |
Chris Lattner <sabre@nondot.org> |
switch clang to use the new-new way of creating llvm::StructType's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 |
|
09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
clang side to match the LLVM IR type system rewrite patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
e26bdb91b7e3912ffe895b78a446db94471a59dd |
|
21-Jun-2011 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Add a -fuse-register-sized-bitfield-access option, for testing. - Changes bit-field access policy to try to use (aligned) register sized accesses. The idea here is that by using larger accesses we expose more coalescing potential to the backend when we have situations like adjacent bit-fields in the same structure (which is common), and that the backend should be smart enough to narrow the accesses down when no coalescing is done or when it is shown not to be profitable. -- $ clang -m32 -O3 -S -o - t.c _f0: ## @f0 pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax movb (%eax), %cl andb $-128, %cl orb $1, %cl movb %cl, (%eax) movb 1(%eax), %cl andb $-128, %cl orb $1, %cl movb %cl, 1(%eax) movb 2(%eax), %cl andb $-128, %cl orb $1, %cl movb %cl, 2(%eax) movb 3(%eax), %cl andb $-128, %cl orb $1, %cl movb %cl, 3(%eax) popl %ebp ret $ clang -m32 -O3 -S -o - t.c -Xclang -fuse-register-sized-bitfield-access _f0: ## @f0 pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax movl $-2139062144, %ecx ## imm = 0xFFFFFFFF80808080 andl (%eax), %ecx orl $16843009, %ecx ## imm = 0x1010101 movl %ecx, (%eax) popl %ebp ret -- git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
575a1c9dc8dc5b4977194993e289f9eda7295c39 |
|
20-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce Type::isSignedIntegerOrEnumerationType() and 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>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
855a8e79f42e670b405b31efd3963f4d89732aff |
|
03-May-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Finish off rules for z-length bitfields in ms_struct structs. // rdar://8823265 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
340fa242130c2d8d74c83edca0952e771aebe0e6 |
|
02-May-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
More rule enforcement of zero bitfields for ms_struct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
14d56ef43ff4921c6749f7340212fbb743fdbb9b |
|
27-Apr-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Some refactoring of my ms_struct patch. // rdar://8823265 related. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
62055b0618fafb4747e783ba3fedd7bc7d57d27d |
|
27-Apr-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
With ms_struct attribut, Zero-length bitfields following non-bitfield members are ignore. // rdar://8823265 wip git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
3256de709a69572be90e9c8855fafb58c4d93d10 |
|
24-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Simplify AppendTailPadding() by converting its parameter to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
737978d336ea8bbb27cc7a3c9cb5eeb2b7dea8a5 |
|
24-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Eliminate literal 8s from LayoutUnionField by converting NumBytesToAppend to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
edda6e432789b7a668c86573fd5881342b9f6e27 |
|
24-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Eliminate literal 8s from LayoutBitField(), converting variables to CharUnits or replacing the 8s with char align. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
b9e6b2c215d0a7930ad160b054bc86353da4a517 |
|
24-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Convert AccessInfo::AccessAlignment to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
28ebde58dd94b5ed2a6d149251202ab2c602a4a6 |
|
24-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Convert CGBitFieldInfo::FieldByteOffset to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
eb9d81dff99d4996f41c93ce71b08aaf753cbae8 |
|
17-Apr-2011 |
Anders Carlsson <andersca@mac.com> |
When laying out bases in, always try the "base subobject" LLVM type. If it 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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2786a81415c43cf3110d197b20987c352edbd0fe |
|
17-Apr-2011 |
Anders Carlsson <andersca@mac.com> |
Use a SmallVector for field types in CGRecordLayoutBuilder now that llvm::StructType::get takes an ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c3e494047b921529ce01c5b77c0a7f81eec8a300 |
|
22-Mar-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
92ee7ca6f42d2bd735f9bfc120c00838c4e469c0 |
|
26-Feb-2011 |
John McCall <rjmccall@apple.com> |
A much-delayed response to Ken Dyck's review: make this somewhat more char-width agnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
d8df5b65fc76c2f59148e1551f56a8ee26c9607b |
|
17-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
improve support for big endian targets, fixing PR8171, patch by Heikki Kultala! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
fd577d6b71d82d16b3c67f307bec948b7a0a84b2 |
|
15-Feb-2011 |
John McCall <rjmccall@apple.com> |
Refactor CGRecordLayoutBuilder to use CharUnits more consistently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9b7da1c46d6d2849f9cb51328d7fcddf2c417672 |
|
15-Feb-2011 |
John McCall <rjmccall@apple.com> |
Perform zero-initialization of virtual base classes when emitting 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
dac54c124e302d6f028ea5723c425b7f66fc7c71 |
|
15-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::Alignment to CharUnits from bit units. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
dd76a9ab9ea675671200f94b18ce95766841952b |
|
11-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Add a helper function, ASTContext::toBits(), that converts sizes in CharUnits to sizes in bits, and use it to tidy up the places where the conversion was done explicitly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9186ff310cf0ad92ec7f39b2c9dcb7e848195052 |
|
10-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Drop the 'InBits' part from the name of RecordSizeInBits as the value is in character units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
7198e94d55213222044515d5a83713911d0c6dbb |
|
10-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Eliminate some signed-to-unsigned comparision warnings introduced in r125156. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
5f022d82696c84e4d127c558871d68ac6273274e |
|
09-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::Size to CharUnits from bits. No changes to functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
68cf1a5a01ba43ed56a8624632fd65e0804430ac |
|
08-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::NonVirtualAlign to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
5c3633fa57f27b0909ab5767715c4e66b8920165 |
|
01-Feb-2011 |
Ken Dyck <kd@kendyck.com> |
Convert RecordLayout::NonVirtualSize from bit units to CharUnits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
db2b42fb4d43be5af14ba33d49bbd163f01646ec |
|
10-Dec-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix another obscure corner layout case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
860453c4b4768e99d72f5833771c508e6ef00cc6 |
|
05-Dec-2010 |
Anders Carlsson <andersca@mac.com> |
Add a LayoutBase member function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
57d2d236d24de0edb7e51b86d88c0eb970330650 |
|
05-Dec-2010 |
Anders Carlsson <andersca@mac.com> |
Replace calls to AppendBytes with calls to AppendPadding when the bytes appended are padding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
d0de0ce304b3fcdda0fe081da2974420ee6f14e7 |
|
01-Dec-2010 |
John McCall <rjmccall@apple.com> |
CGRecordLayoutBuilder does not need to be exported from this module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
fc86d55b6b20c47f67a61afa4b3903eb0d31f9b8 |
|
29-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Don't store the maximum alignment, we can trivially compute it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
1d7dc2240717eb34672035b13ceb17710ab481c1 |
|
28-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
More work on laying out virtual bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8f2c6899dd14023555808dbdcbe7e371c3fb2cc2 |
|
25-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Begin work on actually laying out virtual bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c9e814ba193f38a7b08268612248f63beb279bb3 |
|
25-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
46170f9c7d561d0f94af34a4b5da909d2584370a |
|
24-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Add CXXRecordDecl::getIndirectPrimaryBases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
3379e9bd71c0e0051bd97e90d4f2ec964078091d |
|
24-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Simplify code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
ba2c2eec87d614b06e194b289627bbfe0642e4ce |
|
24-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
CGRecordLayout types are always struct types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a03613d6e3f38e0ea8f5ebf0d7c9039b9fe35a8d |
|
22-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Remove FIXME; we don't ever want to lay out empty bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9a5a3f2f3bc7048160b50dadeb7fa56e5e9d8385 |
|
22-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Rename BaseLLVMType to NonVirtualBaseLLVMType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
f4a15b0df4c8e8b012aa33f5f2f182871efb9dd0 |
|
22-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Add getCGRecordLayout helper function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
cb0511cc291a2f1b6ba281b818f3d07184e198b7 |
|
09-Nov-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Remove debugging printf. Fix linux build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
3d155e683a74d3783362ef1865be91544eb8a9fc |
|
09-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Introduce the concept of a non-virtual base type to CGRecordLayoutBuilder as a first step towards fixing PR6995. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a14f5979572aa25c03d24750ee4724d2031d4ede |
|
01-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
e7a80bd66a80ce509de9b50f32cdd402914edd2e |
|
03-Sep-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move CGBitFieldInfo strategy computation helpers to static member functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
f16aa103d3afd42fbca2ab346f191bf745cec092 |
|
22-Aug-2010 |
John McCall <rjmccall@apple.com> |
Go back to asking CodeGenTypes whether a type is zero-initializable. 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8a2c92cab213bd7e28ff669577e815cd70bafbe3 |
|
27-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
AST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a83fb4bf8119b980ccf7de0795dff250a799ea58 |
|
18-May-2010 |
Anders Carlsson <andersca@mac.com> |
Correctly initialize bases with member pointers. This should fix PR6441 but that test case is a bit weird and I'd like to investigate further before closing that bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c6772ce9c80ff524c7c522b5f0b37de58786bd84 |
|
18-May-2010 |
Anders Carlsson <andersca@mac.com> |
Keep track of the LLVM field numbers for non-virtual bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
15ddfdc5d8929556c07ea7341006b31c71544325 |
|
18-May-2010 |
Anders Carlsson <andersca@mac.com> |
Start laying out bases as individual fields. We still use ugly i8 arrays but this is a step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
68e3013ade8a219625b636bb8c1dcec2ba6fb685 |
|
05-May-2010 |
Anders Carlsson <andersca@mac.com> |
Use a more appropriate LLVM type for the vtable pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
52968a1c765e43000f904ecb27a6353b0185bcd6 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Fix another case where we generated an invalid access component when we immediately narrowed the access size. Fix this (and previous case) by just choosing a better access size up-front. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
4651efb5ba5710c91b58c8b86872b264dd71f464 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Fix case where we might generate an access component with width == 0, if we have to narrow the access side immediately (can happen with packed, -fno-bitfield-type-align). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
89da874f8ecfebabdac2c6e9b7930ebe179ccf81 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Set alignment correctly on bit-field accesses. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
e1467a4ceeeb74cdc54830e03df8d58893e38892 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Rewrite bit-field access policy to not access data beyond the bounds 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
ad759530ff48385255c25e71d7e05632361e0c11 |
|
22-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Fix CGRecordLayout::print to print the bit-field infos in a consistent order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
3b2ae7ae59b11657416fc3f16e742713b4683e5e |
|
21-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Add checking that the LLVM and AST record layout offsets agree (for non-bit-fields). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8ab78a7d9d755975db67170cae64c05d5176c00c |
|
20-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Always use i8 arrays to access union bit-fields. This is ugly, but matches how we currently handle structs, and this correctly handles -fno-bitfield-type-align. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8d8ab749f6f8bb63ea2cd2b589c0f050b67fc5cc |
|
19-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
AST: Dump ASTRecordLayout objects when they are created with -fdump-record-layouts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2e7b7c2f267e0bf8047608aa1cd6691c0bf86792 |
|
19-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Kill unused function and move the type match assert to after record dumping. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
6ba38151f7e31d7f9194c8bbb91229cb5ffbb6f4 |
|
18-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Simplify wide bit-field layout in CGRecordLayoutBuilder, and also fix a bug where assigning to a bit-field member would overwrite other parts of the struct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
d62328e6a0fa933e3a5daaf68e4964031e6c5c5e |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Unnamed bit-fields in a union should be laid out with a type that doesn't affect alignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
86664465bac330871d4a476f68a1d6f7f6f102af |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Factor union field layout code out into a separate function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
046c294a43024874ff35656c6e785b64e72f1f36 |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Vtable -> VTable renames across the board. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
1c7658fd32f26a3ea5fa1421494b2449c9eba3c9 |
|
16-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Make CGRecordLayoutBuilder deal with wide bit-fields. Will land tests shortly (Daniel, please review). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2df2569679237b4979654a8663cd61aea67ab207 |
|
15-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Change CGBitFieldInfo to take the AccessInfo as constructor arguments, it is now an immutable object. Also, add some checking of various invariants that should hold on the CGBitFieldInfo access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
7fb619500404129322af972aab66c369949a2a74 |
|
15-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Eliminate now unused fields from CGBitFieldInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
ab970f90ce31a53fe7e6375a37536bf0832fd922 |
|
13-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Enhance CGBitFieldInfo with enough information to fully describe the "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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
9b28daf9b6ea3808ef6b63408c24095a43d48018 |
|
12-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Factor out ComputeBitFieldInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
93c62967d4ac7620a8ed2c5f875daab9adb416f0 |
|
12-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Add CGRecordLayout::dump, and dump (irgen) record layouts as part of -fdump-record-layouts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
7f2896406c8f14bf123578610043a919ba1a1c8a |
|
08-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
efbf487da83883c2da81181cac6f040928aa4289 |
|
06-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move BitFieldIsSigned bit into CGBitFieldInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c7a984af71394402cb4d149554ab5da11aebd729 |
|
06-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2eec0b2e3e931de6cefbb266a7652a0622fe95b2 |
|
05-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Lift BitFieldInfo to CGBitFieldInfo at namespace level. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
198bcb44b6271c92fd856403f34b518828100aac |
|
31-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out of CodeGenTypes, to per-record CGRecordLayout structures. - I did a cursory check that this was perf neutral, FWIW. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
490fc902710eca4e4a07b2ecaa223e70670331d6 |
|
31-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
CGRecordLayoutBuilder: Switch unions to use same mechanism for tracking field and bit-field info as structs. - Anders, please check. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
270e203b50ed8791e61afd357596bcf050cf2bfd |
|
31-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRGen: Hide CGRecordLayoutBuilder class, because I can. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2924ade97ee4228fcf3518d89cd4bd1653236b48 |
|
31-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move CGRecordLayout to its own happy little file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2c12d0319a267b844cb7d569d84426cd344b90f7 |
|
02-Feb-2010 |
Anders Carlsson <andersca@mac.com> |
Improve handling of emitting 'null' pointers to data members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
21fd7d7347358994ee6d944c22a51e82d22409d9 |
|
28-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Fix an incorrect union layout assert. Fixes PR6164. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
4b3e5be334c93c3f48af2a49c0ea7cd9bae2a0e5 |
|
16-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c2456824a106455bae5d738fe65d80b14a6804c4 |
|
08-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
No need to add tail padding if the resulting LLVM struct type will have the same size as the final record size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
1a5e0d7f18485e4fb958f96dcddff3e4486a4069 |
|
01-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Have ASTRecordLayout keep track of the key function, in preparation of fixing a synthetic ctor/dtor bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a84b4044b79f2cc424c6ae7ee5edb97e948ba806 |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Fixup key function calculations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
88bd0094d8784b0a6a785ddeca18e5061417dcce |
|
19-Nov-2009 |
Mike Stump <mrs@apple.com> |
This doesn't work yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
e504170f688b0e2113011839b933a4ec450b5182 |
|
06-Nov-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Prevent a code gen. crash on empty unions - pr5408. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
5017a157c6c5462ea1d4154d7d758ee3d277b735 |
|
12-Oct-2009 |
Anders Carlsson <andersca@mac.com> |
Store the key function of a record decl inside CGRecordLayout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
366200045fc30290795e037ab2cb417ddd3c9933 |
|
04-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
If the alignment of the chosen field in a union is greater than the alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
d0eb3b93e89f0ab83a2305eb0ec42076f8d46142 |
|
02-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
Packed unions should be packed. Fixes an assert Daniel reported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
fc3eaa47fa2ef70ab21131005c328adda3020737 |
|
23-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
More work towards zero-initializing structs that contain member pointers in constant expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
341bdf8d565f5282779a0ffd2d2b77f3a38b735e |
|
23-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
0032b2781b4deb131f8c9b7968f2030bf2489cdd |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a5dd722bdf2f74a1a249fe6661d96a7236aee0f0 |
|
08-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Take #pragma pack into account when laying out structs. Fixes rdar://problem/7095436. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
a860e755f1f9f071b6a6a2f96128a6a258f5c331 |
|
08-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Introduce a new PragmaPack attribute, and use it for #pragma pack. The 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
df31e091126da6a5c08303a78b562d00e7fd4e20 |
|
08-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Assert that the LLVM type has the same size as the RecordDecl size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
47a434ff3d49e7906eda88e8e8242e4297725b32 |
|
06-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
de9f2c937a4892d155cfe695657ce4cc3556836f |
|
04-Aug-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify alignment handling in the record builder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8a8a629844d26c24dc0147d55a32a937b14b9381 |
|
29-Jul-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
No longer need to keep base class offsets in the offset table as it has its own place now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c2cc1d5e29596f2ee2f32ca9c06f9119904dd161 |
|
28-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
More CGRecordLayoutBuilder cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
cad86653942d4e33c2674ea40e77d7fe59990130 |
|
27-Jul-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Some minor changes toward support of data member access in the presense of non-virtual bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
abdad358b53d0efd1d89ea434b7078600a656d1f |
|
27-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Enable the new struct type builder now that the constant struct builder works. (The old code will still be there until we know that everything works well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
c1efe36ca75b4f4f82cdec464bab5693ed0d6058 |
|
27-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Fix a tail padding bug in the record layout builder code. The bug was found by an existing test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
4c98efdf06f94da20a640aa36f6a4f3284c26bff |
|
24-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Check in a half finished new constant struct builder (Obviously not used yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
728d7cd2e25a0a1e5ff272163fc7ed17980f029a |
|
24-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Get rid of the size parameter to AppendField. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
94ae95f17ed4155ca4718575f00eafa1bfb8c5a0 |
|
24-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Don't just store the field/bit field info one field, do it for all fields in the union. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
177d4d8700d66e80a874c3f609eede297118633d |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Fix another thinko. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
faaec2234f21bf175dd05c723072202cdf39cb2f |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Correct a thinko in bitfield layout code. Fixes PR4611. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
4b5584b38b860e8ecb20420e2fe16d5ed97a68a0 |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
We don't need to keep track of the packed alignment, just whether the struct is packed or not. Fixes PR4610. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
8330ceeebb3bfac31116b387b90ff2ce3cef85e4 |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Move the LLVM field number for bit fields into the BitFieldInfo structure, since it's meaning is completely different than for non-bit fields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
cfc6758b5f62514445eead673a46a69d70162526 |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Set field info for unions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
2cc8f1740d88362292822e397db6085084399599 |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Handle zero width bit fields in unions correctly (by ignoring them). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
5a6e398eafa48c56e8741ad2cd36630badd98f30 |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Implement union layout support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|
45372a6fdcd2b0840704569478db456822e02bae |
|
23-Jul-2009 |
Anders Carlsson <andersca@mac.com> |
Check in CGRecordLayoutBuilder which is a reimplementation of the record 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 :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
|