1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Commit Graph

15 Commits

Author SHA1 Message Date
Oscar Fuentes
d4427a6b63 Fixes the Atomic implementation if compiled by MSVC compiler.
sys::cas_flag should be long on this platform, InterlockedAdd() is
defined only for the Itanium architecture (according to MSDN).

Patch by Michael Beck!

llvm-svn: 90748
2009-12-07 05:29:59 +00:00
Owen Anderson
5bda03a404 Add atomic multiply and divide operations, built on top of CompareAndSwap.
llvm-svn: 74004
2009-06-23 21:19:04 +00:00
Owen Anderson
c11dfb46c1 Revert my last series of commits related to Timer and 64-bit atomics. Not all the targets
we care about are capable of supporting it.

llvm-svn: 73993
2009-06-23 20:17:22 +00:00
Owen Anderson
c2d02066d0 Atomic ops that do arithmetic use signed arithmetic.
llvm-svn: 73980
2009-06-23 18:30:27 +00:00
Owen Anderson
1bea9b9158 Label the existing atomic functions as 32-bit specific, and add a 64-bit one that will be useful in
the near future.

llvm-svn: 73971
2009-06-23 18:01:04 +00:00
Owen Anderson
e0ff9fb130 Add an atomic add operation.
llvm-svn: 73964
2009-06-23 17:39:31 +00:00
Owen Anderson
47968a6dec Fix bad paste-o in the MSVC atomics.
Patch by Иван Сорокин.

llvm-svn: 73779
2009-06-19 18:37:50 +00:00
Owen Anderson
3637fc65bd Use atomic increment/decrement for reference counting of Type's.
llvm-svn: 73588
2009-06-17 00:28:49 +00:00
Owen Anderson
430f18d2db Add an atomic increment and decrement implementation, which will be used for
thread-safe reference counting.

llvm-svn: 73587
2009-06-17 00:13:00 +00:00
Duncan Sands
1f0ecf9952 At a newline at the end of this file.
llvm-svn: 72767
2009-06-03 11:54:28 +00:00
Owen Anderson
6a94d2450e Undef MemoryFence when compiling on MSVC.
llvm-svn: 72732
2009-06-02 17:35:55 +00:00
Owen Anderson
07513122f5 Tabs, be gone!
llvm-svn: 72180
2009-05-20 19:06:49 +00:00
Owen Anderson
b3e9d10028 I just fail today.
Hopefully this fixes the last build errors on systems with GCC < 4.1.

llvm-svn: 72179
2009-05-20 19:01:50 +00:00
Owen Anderson
0bc99bd557 Copy-and-paste-o.
llvm-svn: 72177
2009-05-20 18:47:53 +00:00
Owen Anderson
2753821fab Move atomic operations' definitions out of line. While this seems kind of silly,
all kinds of problems caused by including windows.h and/or config.h in an LLVM header.

llvm-svn: 72174
2009-05-20 18:26:15 +00:00