]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR ipa/67811
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Dec 2015 00:45:15 +0000 (00:45 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Dec 2015 00:45:15 +0000 (00:45 +0000)
 * 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
gcc/tree-cfg.c

index addc54af887764399201953354c5285493f0889e..6bc47d56f75fe7a79e9670b86c842bcbd39a0db5 100644 (file)
@@ -1,3 +1,8 @@
+2015-12-23  Richard Henderson  <rth@redhat.com>
+
+       PR ipa/67811
+       * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.
+
 2015-12-23  Nathan Sidwell  <nathan@acm.org>
 
        * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.
index 436ea146c1bc22e2eb30fe6eeea962c0529552bc..3b2fab56e9530a98f1eebd4c2323cd8e8435b1c7 100644 (file)
@@ -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;