From 94720cdd2799111ceadf7082dfbaeb063d94436a Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 24 Dec 2015 00:45:15 +0000 Subject: [PATCH] PR ipa/67811 * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231943 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/tree-cfg.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index addc54af8877..6bc47d56f75f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-12-23 Richard Henderson + + PR ipa/67811 + * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. + 2015-12-23 Nathan Sidwell * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 436ea146c1bc..3b2fab56e953 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -839,7 +839,8 @@ make_edges_bb (basic_block bb, struct omp_region **pcur_region, int *pomp_index) EDGE_TM_UNINSTRUMENTED | (label1 ? 0 : EDGE_FALLTHRU)); tree label3 = gimple_transaction_label_over (txn); - if (gimple_transaction_subcode (txn) & GTMA_HAVE_ABORT) + if (gimple_transaction_subcode (txn) + & (GTMA_HAVE_ABORT | GTMA_IS_OUTER)) make_edge (bb, label_to_block (label3), EDGE_TM_ABORT); fallthru = false; -- 2.47.2