r179522 - in /branches/cxx-mem-model/gcc: Chang...
amacleod@gcc.gnu.org
amacleod@gcc.gnu.org
Tue Oct 4 19:44:00 GMT 2011
Author: amacleod
Date: Tue Oct 4 19:44:28 2011
New Revision: 179522
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179522
Log:
* optabs.c (expand_sync_mem_load): Don't expand into a default load if
the type is larger than a word. Try a compare_and_swap with 0.
(expand_sync_mem_store): Return const0_rtx if a store is generated. If
type is larger than a word try an exchange, then fail.
* builtins.c (expand_builtin_sync_mem_store): Return a value.
(expand_builtin): If no store generated, leave a function call.
* expr.h (expand_sync_mem_store): Prototype returns value.
* gcc.dg/memmodel/sync-other-int128.c: Don't xfail any more.
* gcc.dg/memmodel/sync-load-int128.c: Don't xfail any more.
* gcc.dg/memmodel/memmodel.h (__gdb_memmodel_fini): Rename from
memmodel_fini.
(HOSTILE_THREAD_THRESHOLD, HOSTILE_THREAD_PAUSE): New.
(__gdb_hostile_pause): New. Indicates a pause was triggered.
(__gdb_wrapper_other_threads): New. Wrapper for memmodel_other_threads.
Avoid infinite loops.
(__gdb_wrapper_final_verify): New. Wrapper for memmodel_final_verify.
* gcc.dg/memmodel/memmodel.gdb: Use renamed __gdb_ routines instead.
* gcc.dg/memmodel/speculative-store.c (memmodel_other_threads): Correct
return type.
Modified:
branches/cxx-mem-model/gcc/ChangeLog.mm
branches/cxx-mem-model/gcc/builtins.c
branches/cxx-mem-model/gcc/expr.h
branches/cxx-mem-model/gcc/optabs.c
branches/cxx-mem-model/gcc/testsuite/ChangeLog.mm
branches/cxx-mem-model/gcc/testsuite/gcc.dg/memmodel/memmodel.gdb
branches/cxx-mem-model/gcc/testsuite/gcc.dg/memmodel/memmodel.h
branches/cxx-mem-model/gcc/testsuite/gcc.dg/memmodel/speculative-store.c
branches/cxx-mem-model/gcc/testsuite/gcc.dg/memmodel/sync-load-int128.c
branches/cxx-mem-model/gcc/testsuite/gcc.dg/memmodel/sync-other-int128.c
More information about the Gcc-cvs
mailing list