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