diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-06-15 12:03:03 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-06-15 12:03:03 +0000 |
commit | df544d36a6bfdaada3201285ef4f00cf5c4af492 (patch) | |
tree | 81e48369ba7ec510ab5d12d47ea00c23fdefa74c | |
parent | fc0d5ab8abcc7288cbf63c2b5c936843037603b5 (diff) | |
download | gcc-df544d36a6bfdaada3201285ef4f00cf5c4af492.tar.gz |
Backport from mainline:
2012-05-31 Aldy Hernandez <aldyh@redhat.com>
* tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
* gimple.h (block_in_transaction): Check for flag_tm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188658 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/gimple.h | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e29b0405b36..2ec804187c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-06-15 Aldy Hernandez <aldyh@redhat.com> + + Backport from mainline: + + 2012-05-31 Aldy Hernandez <aldyh@redhat.com> + * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm. + * gimple.h (block_in_transaction): Check for flag_tm. + 2012-06-14 Aldy Hernandez <aldyh@redhat.com> PR tree-optimization/52558 diff --git a/gcc/gimple.h b/gcc/gimple.h index 649d10c5b29..7f075515531 100644 --- a/gcc/gimple.h +++ b/gcc/gimple.h @@ -1587,7 +1587,7 @@ gimple_set_has_volatile_ops (gimple stmt, bool volatilep) static inline bool block_in_transaction (basic_block bb) { - return bb->flags & BB_IN_TRANSACTION; + return flag_tm && bb->flags & BB_IN_TRANSACTION; } /* Return true if STMT is in a transaction. */ diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 97b4e7ad5b5..11777deed16 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -2154,7 +2154,7 @@ execute_sm (struct loop *loop, VEC (edge, heap) *exits, mem_ref_p ref) fmt_data.orig_loop = loop; for_each_index (&ref->mem, force_move_till, &fmt_data); - if ((flag_tm && block_in_transaction (loop_preheader_edge (loop)->src)) + if (block_in_transaction (loop_preheader_edge (loop)->src) || !PARAM_VALUE (PARAM_ALLOW_STORE_DATA_RACES)) multi_threaded_model_p = true; |