This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r143804 - in /branches/transactional-memory/gcc...
- From: rth at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 30 Jan 2009 21:07:56 -0000
- Subject: r143804 - in /branches/transactional-memory/gcc...
Author: rth
Date: Fri Jan 30 21:07:55 2009
New Revision: 143804
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143804
Log:
* c-common.c (c_common_attribute_table): Add tm_irrevokable.
(tm_attribute_mask): Handle it.
(handle_tm_fntype_attribute): Likewise.
* calls.c (special_function_p): Add BUILT_IN_TM_GETTMCLONE_IRR.
* gtm-builtins.def (BUILT_IN_TM_GETTMCLONE_IRR): New.
(BUILT_IN_TM_GETTMCLONE_SAFE): New.
* trans-mem.c (is_tm_irrevokable, is_tm_safe): New.
(requires_barrier): Handle TARGET_MEM_REF.
(gimplify_mem_ref_addr): New.
(build_tm_load, build_tm_store): Use it.
(expand_assign_tm): Early exit for no load or store.
(expand_call_tm): Expect indirect calls.
(expand_tm_atomic): Look for sharing loop back edges.
(ipa_tm_scan_irr_block): Don't consider indirect calls irrevokable.
(ipa_tm_insert_gettmclone_call): New.
(ipa_tm_transform_calls): Use it.
* tree.h (is_tm_safe, is_tm_irrevokable): Declare.
Modified:
branches/transactional-memory/gcc/ChangeLog.tm
branches/transactional-memory/gcc/c-common.c
branches/transactional-memory/gcc/calls.c
branches/transactional-memory/gcc/gtm-builtins.def
branches/transactional-memory/gcc/trans-mem.c
branches/transactional-memory/gcc/tree.h