r141355 - in /branches/transactional-memory/gcc...

rth@gcc.gnu.org rth@gcc.gnu.org
Fri Oct 24 23:35:00 GMT 2008


Author: rth
Date: Fri Oct 24 23:35:22 2008
New Revision: 141355

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141355
Log:
        * calls.c (special_function_p): Include more TM builtins.
        * cfgexpand.c: Revert all changes.
        * except.c (struct eh_region): Add u.transaction.tm_atomic_stmt.
        (gen_eh_region_transaction): Take and store the stmt.
        (for_each_tm_atomic): New.
        * except.h (for_each_tm_atomic): Declare.
        * gimple-pretty-print.c (dump_gimple_assign): Revert.
        * gimple.c (gimple_rhs_class_table): Revert.
        * gimple.h (GTMA_HAVE_CALL_INDIRECT): Remove.
        (GTMA_HAVE_UNCOMMITTED_THROW): New.
        * gimplify.c (gimplify_tm_atomic): Remove EH wrapping.
        * gtm-builtins.def (BUILT_IN_TM_IRREVOKABLE): New.
        (BUILT_IN_TM_MEMCPY): New.
        (BUILT_IN_TM_LOAD_*): Mark PURE.
        * passes.c (init_optimization_passes): Place TM passes.
        * trans-mem.c: Rewrite.
        * tree-cfg.c (make_edges): Revert.
        (is_ctrl_stmt): Rewrite as switch.
        (is_ctrl_altering_stmt): Likewise.  Handle GIMPLE_TM_ATOMIC.
        * tree-eh.c (lower_tm_atomic_eh): New.
        (lower_eh_constructs_2): Record EH region for transactional stmts.
        * tree-flow.h (make_tm_edge): Remove.
        * tree-passes.h (pass_checkpoint_tm): Remove.
        (pass_tm_init, pass_tm_mark, pass_tm_memopt,
        pass_tm_edges, pass_tm_done, pass_ipa_tm): New.
        * tree-ssa-operands.c (get_addr_dereference_operands): Handle
        ADDR_EXPR.
        (add_tm_call_ops): New.
        (maybe_add_call_clobbered_vops): Use it.
        (add_all_call_clobber_ops): Split out from ... 
        (get_asm_expr_operands): ... here.
        (parse_ssa_operands): Convert to switch.
        * tree.def (TM_LOAD, TM_STORE): Remove.

Modified:
    branches/transactional-memory/gcc/ChangeLog.tm
    branches/transactional-memory/gcc/calls.c
    branches/transactional-memory/gcc/cfgexpand.c
    branches/transactional-memory/gcc/except.c
    branches/transactional-memory/gcc/except.h
    branches/transactional-memory/gcc/gimple-pretty-print.c
    branches/transactional-memory/gcc/gimple.c
    branches/transactional-memory/gcc/gimple.h
    branches/transactional-memory/gcc/gimplify.c
    branches/transactional-memory/gcc/gtm-builtins.def
    branches/transactional-memory/gcc/passes.c
    branches/transactional-memory/gcc/trans-mem.c
    branches/transactional-memory/gcc/tree-cfg.c
    branches/transactional-memory/gcc/tree-eh.c
    branches/transactional-memory/gcc/tree-flow.h
    branches/transactional-memory/gcc/tree-pass.h
    branches/transactional-memory/gcc/tree-ssa-operands.c
    branches/transactional-memory/gcc/tree.def



More information about the Gcc-cvs mailing list