c250192494e0fa63be50269d2c1eb7786f8ab7a0 |
|
13-Jul-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Changes so that a few tests do not fail when running under guarded malloc. Guarded malloc emits some messages at the beginning in stderr when enabled. These messages caused a few tests to fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
e8d411997899a87e1a9f63ad3f52b38e7931687c |
|
31-Jan-2013 |
Richard Trieu <rtrieu@google.com> |
Add indents to AST dumping and removed parenthesis from AST nodes. Indents were given the color blue when outputting with color. AST dumping now looks like this: Node |-Node | `-Node `-Node `-Node Compared to the previous: (Node (Node (Node)) (Node (Node))) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
d538ed9b2a617239d5bd56357663de62f6f9224c |
|
20-Dec-2012 |
Alexander Kornienko <alexfh@google.com> |
Implement AST dumper for Decls. http://llvm-reviews.chandlerc.com/D52 Patch by Philip Craig! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
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/test/CodeGen/bitfield-2.c
|
4803535dfef2626d2aec18ef92450b5008945352 |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Fix an assert when assigning a boolean value to a bitfield of type _Bool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
2677261656b2f3325218d38bdd9d102ad732da92 |
|
15-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: (Reapply 101222, with fixes) Move EmitStoreThroughBitfieldLValue to use new CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself. - Sadly, this doesn't seem to give any .ll size win so far. It is possible to make this routine significantly smarter & avoid various shifting, masking, and zext/sext, but I'm not really convinced it is worth it. It is tricky, and this is really instcombine's job. - No intended functionality change; the test case is just to increase coverage & serves as a demo file, it worked before this commit. The new fixes from r101222 are: 1. The shift to the target position needs to occur after the value is extended to the correct size. This broke Clang bootstrap, among other things no doubt. 2. Swap the order of arguments to OR, to get a tad more constant folding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
96c250a9d2f3bcff800500c22a8cf75579395588 |
|
14-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
Speculatively revert "IRgen: Move EmitStoreThroughBitfieldLValue to use new CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself.", I think it might be breaking bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|
89cdaa94ecac5e83197c5889830ee37ff1faea58 |
|
14-Apr-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move EmitStoreThroughBitfieldLValue to use new CGBitfieldInfo::AccessInfo decomposition, instead of computing the access policy itself. - Sadly, this doesn't seem to give any .ll size win so far. It is possible to make this routine significantly smarter & avoid various shifting, masking, and zext/sext, but I'm not really convinced it is worth it. It is tricky, and this is really instcombine's job. - No intended functionality change; the test case is just to increase coverage & serves as a demo file, it worked before this commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/bitfield-2.c
|