6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/CodeGen/CGRecordLayout.h
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/CGRecordLayout.h
|
3b844ba7d5be205a9b4f5f0b0d1b7978977f4b8c |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
72d2dab6058467036df73a5f668036a519043e5b |
|
06-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Rework the bitfield access IR generation to address PR13619 and generally support the C++11 memory model requirements for bitfield accesses by relying more heavily on LLVM's memory model. The primary change this introduces is to move from a manually aligned and strided access pattern across the bits of the bitfield to a much simpler lump access of all bits in the bitfield followed by math to extract the bits relevant for the particular field. This simplifies the code significantly, but relies on LLVM to intelligently lowering these integers. I have tested LLVM's lowering both synthetically and in benchmarks. The lowering appears to be functional, and there are no really significant performance regressions. Different code patterns accessing bitfields will vary in how this impacts them. The only real regressions I'm seeing are a few patterns where the LLVM code generation for loads that feed directly into a mask operation don't take advantage of the x86 ability to do a smaller load and a cheap zero-extension. This doesn't regress any benchmark in the nightly test suite on my box past the noise threshold, but my box is quite noisy. I'll be watching the LNT numbers, and will look into further improvements to the LLVM lowering as needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
f56faa01936b9cf909623d7f06e3c2569ca4a78e |
|
15-Sep-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
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/CGRecordLayout.h
|
d47d3b0cfeb7e8564ff77f48130fe63282b6d127 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
clean up forward declarations of raw_ostream to use the new LLVM.h patch by Jon Mulder! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
8cc488fefb2fb04bc8d5398da29f0182f97934cf |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
add raw_ostream and Twine to LLVM.h, eliminating a ton of llvm:: qualifications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
d9e0ff273f75de13bd97641a5b77651940946271 |
|
01-Dec-2010 |
John McCall <rjmccall@apple.com> |
A CGRecordLayout object persists. Since its contained types may refer to opaque types, they must be held via PATypeHolders. I'm not sure why this hasn't blown up before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
50810d355ab2cf3f11f4e6c478a1df7c1f9f233d |
|
27-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
e792584917983edb9bbfd5751b1fa6a4136e566a |
|
14-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Tweak CGBitFieldInfo doxyments & add an accessor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|
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/CGRecordLayout.h
|