ff993202abf6f5dc41c584c7103f5d39f248b3dd |
|
16-Mar-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Don't try to create "store atomic" instructions of non-integer types; they aren't supported at the moment. PR12040. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
eb43f4a8f133c2bc510ae136a556e92b68a6ff44 |
|
14-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Re-commit r139643. Make clang use Acquire loads and Release stores where necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
a179b531f4728b91291bfbf639ddf71ed7db810a |
|
14-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Revert r139643 while I look into it; it's breaking selfhost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
93013b235680b184be3cda150bcd6456944415f4 |
|
13-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make clang use Acquire loads and Release stores where necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
c83b975f1fb9d11e10b5aa25029ae9bb5fa80e07 |
|
07-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away). LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything. There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now. I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier. I would appreciate hearing from anyone who is using this intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
a40b7f2c4a968a0f35f088cd009d671389b09ac2 |
|
13-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Update clang tests for r137527. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
23aa9c8ca0bc441aab2a38a4c9fc7a1c9e9ac16a |
|
09-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
add a __sync_swap builtin to fill out the rest of the __sync builtins. Patch by Dave Zarzycki! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
26815d97c5743481e317f17a8d53a6819d061862 |
|
27-Oct-2010 |
John McCall <rjmccall@apple.com> |
Restore r117403 (fixing IR gen for bool atomics), this time being less aggressive about the form we expect bools to be in. I don't really have time to fix all the sources right now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
11893327d056a7ebd820da8f00a3286e7430a91c |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert r117403 as it caused PR8480. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
789a1597250e57d7f35f253467165913c68979ad |
|
27-Oct-2010 |
John McCall <rjmccall@apple.com> |
Extract procedures to do scalar-to-memory and memory-to-scalar conversions in IR gen, and use those to fix a correctness issue with bool atomic intrinsics. rdar://problem/8461234 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
4f209445c06a43283c6f72dda7c925538b1578e9 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix the rest of rdar://8461279 - clang miscompiles address-space qualified atomics git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
780a2eb227c3f395a390a143f61bba1724913817 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
same bug as before, this time with __sync_val_compare_and_swap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
f2b95277be59f7d2a82cef8ea9f4cf6a36074593 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
fix __sync_bool_compare_and_swap to work with address-space qualified types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
c7f78c74e155ece8af24cbe8b949daa9d0ba1828 |
|
22-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
filecheckize. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
8d13d221cf7c1657404c611efaadf3ac19d899b3 |
|
18-Jul-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Fix a goof in my previous patch -- not all of the builtins return a value, some fixed return types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
db4325b098eff5e9e660db19f0148423fb21f27f |
|
18-Jul-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Improve the representation of the atomic builtins in a few ways. First, we make their call expressions synthetically have the "deduced" types based on their first argument. We only insert conversions in the AST for arguments whose values require conversion to match the value type expected. This keeps PR7600 closed by maintaining the return type, but avoids assertions due to unexpected implicit casts making the type unsigned (test case added from Daniel). The magic is moved into the codegen for the atomic builtin which inserts the casts as needed at the IR level to raise the type to an integer suitable for the LLVM intrinsic. This shouldn't cause any real change in functionality, but now we can make the builtin be more truly polymorphic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
7eff7c4153faf45b19b5919ef409ee5f6794eb25 |
|
25-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
Remove support for nand atomic builtins. They are inconsistently implemented in gcc, and the common expectation seems to be that they are unused. If and when someone cares we can add them back with well documented demantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
cb61a7bbe635cfa941b1aeaaa1fbda1bf900ee51 |
|
20-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Wrap atomic intrinsics with memory barriers, to ensure we honor the semantics. - This should be conservatively correct, we eventually should have target hooks for platforms that are less strict. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
4fcfde4d5c8f25e40720972a5543d538a0dcb220 |
|
08-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Eliminate &&s in tests. - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
eb4f81e174b11633f7b85f555ea5d2834d6dae8a |
|
28-May-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix a use-of-undefined, IRgen expects the RValue for "void" to be a scalar RValue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
f58cd9bca9c2e7373300fc8bb7c57cff7e4eda4f |
|
13-May-2009 |
Chris Lattner <sabre@nondot.org> |
implement __sync_synchronize and __sync_lock_release, rdar://6880573 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
349ab51813c5b949e19a1593163c583ee006bb42 |
|
09-May-2009 |
Chris Lattner <sabre@nondot.org> |
force a target triple so that the right greppable output happens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
e7ac0a94f1dee3fae9292eb8372962b6d70b3e0d |
|
08-May-2009 |
Chris Lattner <sabre@nondot.org> |
Fix the atomics sema code to convert operands to the argument types of the underlying _N builtin, not the the type of the pointee of the actual type. This ensures that atomics involving pointers end up using the correct integer type when they are resolved, avoiding aborts in codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
5caa370ea6f70bd3e7e4a9cc3b69ac1a849c8534 |
|
08-May-2009 |
Chris Lattner <sabre@nondot.org> |
reimplement __sync_* builtins to be variadic and to follow the same semantic rules that gcc and icc use. This implements the variadic and concrete versions as builtins and has sema do the disambiguation. There are probably a bunch of details to finish up but this seems like a large monotonic step forward :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
0002d23aaf10f307273dab5facda01c137283d22 |
|
07-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Implement __sync_{add,sub,and,or,xor}_and_fetch and __sync_bool_compare_and_swap. - <rdar://problem/6762223> [sema/irgen] support __sync_bool_compare_and_swap and __sync_add_and_fetch git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 |
|
24-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Rename clang to clang-cc. Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
abca36155c3d4c30e9ecb8f9db42d4ac9f55f5cb |
|
26-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
fix this testcase after Mon Ping's intrinsic rename. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
c577a0e9bf5812719d08c002a57b263681938aea |
|
12-Jun-2008 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Multiple tests in a single test file must be linked with '&&'. Otherwise, failing tests other than the last one will not be reported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|
1ffe281890f3cd7728316b45a1f3dd4d3120af7b |
|
10-May-2008 |
Mon P Wang <wangmp@apple.com> |
Added support to generate some atomic operators (add, sub, and, or etc..) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/atomic.c
|