summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-15 12:03:03 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-15 12:03:03 +0000
commitdf544d36a6bfdaada3201285ef4f00cf5c4af492 (patch)
tree81e48369ba7ec510ab5d12d47ea00c23fdefa74c
parentfc0d5ab8abcc7288cbf63c2b5c936843037603b5 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/gimple.h2
-rw-r--r--gcc/tree-ssa-loop-im.c2
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;