[llvm-commits] [llvm-gcc-4.2] r45963 - in /llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu: i486/atomicity.h powerpc/atomic_word.h
Duncan Sands
baldrick at free.fr
Mon Jan 14 09:41:17 PST 2008
Author: baldrick
Date: Mon Jan 14 11:41:16 2008
New Revision: 45963
URL: http://llvm.org/viewvc/llvm-project?rev=45963&view=rev
Log:
LLVM supports the i486 asm expression, and hopefully
it supports the ppc one too. So remove this evil
workaround.
Modified:
llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/i486/atomicity.h
llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/powerpc/atomic_word.h
Modified: llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/i486/atomicity.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libstdc%2B%2B-v3/config/cpu/i486/atomicity.h?rev=45963&r1=45962&r2=45963&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/i486/atomicity.h (original)
+++ llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/i486/atomicity.h Mon Jan 14 11:41:16 2008
@@ -35,35 +35,19 @@
__attribute__ ((__unused__))
__exchange_and_add(volatile _Atomic_word* __mem, int __val)
{
-// LLVM LOCAL
-#ifndef __llvm__
register _Atomic_word __result;
__asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
: "=r" (__result), "=m" (*__mem)
: "0" (__val), "m" (*__mem));
return __result;
- // LLVM LOCAL begin
-#else
- // FIXME: implement inline asm.
- _Atomic_word __result = *__mem;
- *__mem += __val;
- return __result;
-#endif
- // LLVM LOCAL end
}
void
__attribute__ ((__unused__))
__atomic_add(volatile _Atomic_word* __mem, int __val)
{
-// LLVM LOCAL
-#ifndef __llvm__
__asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
: "=m" (*__mem) : "ir" (__val), "m" (*__mem));
-#else
- // FIXME: implement inline asm.
- *__mem += __val;
-#endif
}
_GLIBCXX_END_NAMESPACE
Modified: llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/powerpc/atomic_word.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libstdc%2B%2B-v3/config/cpu/powerpc/atomic_word.h?rev=45963&r1=45962&r2=45963&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/powerpc/atomic_word.h (original)
+++ llvm-gcc-4.2/trunk/libstdc++-v3/config/cpu/powerpc/atomic_word.h Mon Jan 14 11:41:16 2008
@@ -31,14 +31,12 @@
#define _GLIBCXX_ATOMIC_WORD_H 1
typedef int _Atomic_word;
-/* LLVM LOCAL begin */
-#ifndef __llvm__ /* FIXME: implement inline asm */
+
#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
#ifdef __NO_LWSYNC__
#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
#else
#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
#endif
-#endif
-/* LLVM LOCAL end */
+
#endif
More information about the llvm-commits
mailing list