This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r150206 - in /branches/transactional-memory/gcc...
- From: aldyh at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 29 Jul 2009 11:31:37 -0000
- Subject: r150206 - in /branches/transactional-memory/gcc...
Author: aldyh
Date: Wed Jul 29 11:31:36 2009
New Revision: 150206
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150206
Log:
* cgraph.h (cgraph_local_info): Add tm_may_enter_irr.
* gimple-pretty-print.c (dump_gimple_tm_atomic_subcode): Rename
GTMA_MUST_CALL_IRREVOKABLE to GTMA_DOES_GO_IRREVOKABLE.
* trans-mem.c (expand_call_tm): Handle irrevocability.
(execute_tm_mark): Set GTMA_DOES_GO_IRREVOKABLE and
GTMA_MAY_ENTER_IRREVOKABLE.
(expand_tm_atomic): Set PR_DOESGOIRREVOKABLE,
PR_UNINSTRUMENTEDCODE, and PR_HASNOIRREVOKABLE appropriately.
(ipa_tm_scan_calls_tm_atomic): Set tm_may_enter_irr for
replacement functions.
(ipa_tm_scan_calls_clone): Same.
(ipa_tm_transform_tm_atomic): If the block goes irrevocable, don't
transform anything.
(ipa_tm_transform_clone): Set tm_may_enter_irr for non safe
functions.
(ipa_tm_execute): Set tm_may_enter_irr for non-local tm_callable
functions. Swap loops calling ipa_tm_transform_clone and
ipa_tm_transform_tm_atomic.
* gimple.h: Rename GTMA_MUST_CALL_IRREVOKABLE into
GTMA_DOES_GO_IRREVOKABLE.
Added:
branches/transactional-memory/gcc/testsuite/gcc.dg/tm/irrevocable-3.c
branches/transactional-memory/gcc/testsuite/gcc.dg/tm/irrevocable-4.c
Modified:
branches/transactional-memory/gcc/ChangeLog.tm
branches/transactional-memory/gcc/cgraph.h
branches/transactional-memory/gcc/gimple-pretty-print.c
branches/transactional-memory/gcc/gimple.h
branches/transactional-memory/gcc/testsuite/gcc.dg/tm/irrevocable-2.c
branches/transactional-memory/gcc/trans-mem.c