From 039496da00fe37d2cc92600039e6877ea132a50b Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Thu, 31 May 2012 19:46:43 +0000 Subject: re PR tree-optimization/52558 (write introduction incorrect wrt the C++11 memory model) PR tree-optimization/52558 * cfg.c (alloc_aux_for_edge): Fix comment. (alloc_aux_for_edge): Remove static. * basic-block.h (alloc_aux_for_edge): Protoize. * tree-ssa-loop-im.c (execute_sm_if_changed): New. (execute_sm_if_changed_flag): New. (execute_sm_if_changed_flag_set): New. (execute_sm): Do not generate data races unless requested. (tree_ssa_lim_initialize): Call alloc_aux_for_edges. (tree_ssa_lim_finalize): Call free_aux_for_edges. * gimple.h (block_in_transaction): New. (gimple_in_transaction): Use block_in_transaction. From-SVN: r188081 --- gcc/gimple.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gcc/gimple.h') diff --git a/gcc/gimple.h b/gcc/gimple.h index 219592f..8fd64da 100644 --- a/gcc/gimple.h +++ b/gcc/gimple.h @@ -1588,12 +1588,20 @@ gimple_set_has_volatile_ops (gimple stmt, bool volatilep) stmt->gsbase.has_volatile_ops = (unsigned) volatilep; } +/* Return true if BB is in a transaction. */ + +static inline bool +block_in_transaction (basic_block bb) +{ + return bb->flags & BB_IN_TRANSACTION; +} + /* Return true if STMT is in a transaction. */ static inline bool gimple_in_transaction (gimple stmt) { - return gimple_bb (stmt)->flags & BB_IN_TRANSACTION; + return block_in_transaction (gimple_bb (stmt)); } /* Return true if statement STMT may access memory. */ -- cgit v1.1