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