This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]