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

rth@gcc.gnu.org rth@gcc.gnu.org
Fri Oct 28 23:24:00 GMT 2011


Author: rth
Date: Fri Oct 28 23:24:12 2011
New Revision: 180635

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180635
Log:
Rework block IPA_TM block scanning.

There was a monsterous thinko in bb_in_TM_region, both in its
allocation and initialization.  Split that into a per-cg_data
element transaction_blocks_normal.  Initialize it with the
proper CFG installed.

        * trans-mem.c (struct tm_ipa_cg_data): Add transaction_blocks_normal.
        (bb_in_TM_region): Remove.
        (ipa_tm_scan_calls_block): New.
        (ipa_tm_scan_calls_clone): Use it.
        (ipa_tm_scan_calls_transaction): Likewise.  Initialize
        transaction_blocks_normal.
        (ipa_tm_note_irrevocable): Use transaction_blocks_normal.
        (ipa_tm_propagate_irr): Collect a set of blocks from
        get_tm_region_blocks to use instead of bb_in_TM_region.
        Free the data allocated within the function.
        (ipa_tm_region_init): Remove.
        (ipa_tm_execute): Don't init bb_in_TM_region.  Install the correct
        cfg for use in ipa_tm_scan_calls_transaction.

Modified:
    branches/transactional-memory/gcc/ChangeLog.tm
    branches/transactional-memory/gcc/trans-mem.c



More information about the Gcc-cvs mailing list