diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2012-05-21 18:02:17 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2012-05-21 18:02:17 +0000 |
commit | 97b6a9bebbf3c45fa56acf4a9e35fded0a2cec2a (patch) | |
tree | 7d77d20baeae4084708dde20bb2b440ed8aa0bf1 /gcc/trans-mem.c | |
parent | 32ec7d9f880743d814b81efff4499163bb7c157f (diff) |
* gimple.h (gimple_set_in_transaction): Remove.
(gimple_in_transaction): Look in BB instead.
(gimple_statement_base): Remove in_transaction field.
* basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
* trans-mem.c (compute_transaction_bits): Place transaction bit
information into basic blocks.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@187729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/trans-mem.c')
-rw-r--r-- | gcc/trans-mem.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c index 51dd7fe13ed..8887b9afee6 100644 --- a/gcc/trans-mem.c +++ b/gcc/trans-mem.c @@ -2451,13 +2451,15 @@ compute_transaction_bits (void) struct tm_region *region; VEC (basic_block, heap) *queue; unsigned int i; - gimple_stmt_iterator gsi; basic_block bb; /* ?? Perhaps we need to abstract gate_tm_init further, because we certainly don't need it to calculate CDI_DOMINATOR info. */ gate_tm_init (); + FOR_EACH_BB (bb) + bb->flags &= ~BB_IN_TRANSACTION; + for (region = all_tm_regions; region; region = region->next) { queue = get_tm_region_blocks (region->entry_block, @@ -2466,11 +2468,7 @@ compute_transaction_bits (void) NULL, /*stop_at_irr_p=*/true); for (i = 0; VEC_iterate (basic_block, queue, i, bb); ++i) - for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) - { - gimple stmt = gsi_stmt (gsi); - gimple_set_in_transaction (stmt, true); - } + bb->flags |= BB_IN_TRANSACTION; VEC_free (basic_block, heap, queue); } |